3

我想javax.faces.convert.DateTimeConverter为视图参数使用标准 JSF 转换器 ()

从文档中:

您可以使用组件标签的转换器属性按类或按其 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 中)?

4

1 回答 1

4

转换器 id 是javax.faces.DateTime,所以试试

<f:viewParam
  converter="javax.faces.DateTime"
... />
于 2012-07-24T12:38:40.313 回答