14

我想使用新的 HTML5<input type="date">并将其值绑定到托管 bean:

<input type="date" value="#{bean.date}"/>

我怎样才能做到这一点?

4

2 回答 2

22

这只有在 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 版本中,使用自定义组件和/或渲染器。您可以在JSF 不呈现自定义 HTML 标记属性中找到指向示例的链接。

于 2012-11-21T01:34:28.083 回答
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"

于 2016-07-15T14:22:48.527 回答