Возможно ли привязать компонент HTML5 (<input type = "date" >) к управляемому объекту Bean?
Я хотел бы использовать новый HTML5 <input type="date">
и привязать его значение к управляемому bean:
<input type="date" value="#{bean.date}"/>
Я хочу сделать это, потому что мне это нравится больше, чем тот, который предлагается PrimeFaces.
Как я могу это достичь?
Ответы
Ответ 1
Это возможно только после JSF 2.2. Эта функция называется "элементы пересылки" .
<html xmlns:jsf="http://xmlns.jcp.org/jsf">
...
<input type="date" jsf:value="#{bean.date}" />
В качестве альтернативы используйте атрибуты сквозной передачи.
<html xmlns:a="http://xmlns.jcp.org/jsf/passthrough">
...
<h:inputText a:type="date" value="#{bean.date}" />
Если вы еще не на JSF 2.2, вы можете уйти с OmniFaces 'Html5RenderKit
. Это позволяет вам использовать новые атрибуты HTML5 среди других <h:inputText>
.
<h:inputText type="date" value="#{bean.date}" />
См. также
Ответ 2
Другой способ (работает только с JSF 2.2) - использовать f:passThroughAttribute
внутри вашего inputText:
<h:inputText id="yourNumberField" value="#{mainController.myBeautifulNumber}">
<f:passThroughAttribute name="type" value="number"/>
<f:passThroughAttribute name="step" value="0.02"/>
</h:inputText>
Пространство имен f:
является значением по умолчанию xmlns:f="http://xmlns.jcp.org/jsf/core"
.