我想对视图参数使用标准JSF转换器(javax.faces.convert.DateTimeConverter
来自文档:
您可以使用组件标记的converter属性按类或其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>
并使用了身份证
<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中)?
2条答案
按热度按时间v1uwarro1#
转换器ID为
javax.faces.DateTime
,因此尝试cnjp1d6j2#
只需使用f:convertDateTime和ISO模式