【发布时间】:2012-07-22 14:41:10
【问题描述】:
我想使用标准的 JSF 转换器 (javax.faces.convert.DateTimeConverter) 作为视图参数
来自文档:
您可以使用类或通过其 ID 引用转换器 组件标签的转换器属性。 ID 定义在 应用配置资源文件
然后我尝试了:
<f:viewParam
name = "rangeStartCreationDate"
value = "#{doiListController.model.rangeStartCreationDate}"
converter = "javax.faces.convert.DateTimeConverter"
/>
但我明白了
javax.faces.FacesException: Expression Error: Named Object: javax.faces.convert.DateTimeConverter not found.
然后我尝试了第二个选项(按 ID)。我在faces-config.xml中定义了转换器
<converter>
<converter-id>DateTimeConverter</converter-id>
<converter-class>javax.faces.convert.DateTimeConverter</converter-class>
</converter>
并使用了 ID
<f:viewParam
name = "rangeStartCreationDate"
value = "#{doiListController.model.rangeStartCreationDate}"
converterId = "DateTimeConverter"
/>
在这种情况下我得到
Conversion Error setting value 'Tue Jul 24 00:00:00 CEST 2012' for 'null Converter'.
有没有办法让 JSF 实例化转换器或者我必须手动实例化它(在某些 bean 中)?
【问题讨论】:
-
转换器id是javax.faces.DateTime,所以试试
converter="javax.faces.DateTime" -
@Adam 谢谢它的工作!将其发布为答案,以便我接受。
标签: java jsf datetime jsf-2 converter