哪个“p:calendar”组件被假定为绑定的Java类类型? (为了实现它的转换器)。jsf转换器p:日历日期
我认为这是java.util.Date
,所以我有以下几点:
<p:calendar id="fecha" value="#{catalogoController.criterios.fecha}"
maxlength="10"
size="10"
locale="es"
pattern="dd/MM/yyyy"
navigator="true"
showOn="button"
showButtonPanel="true" />
和物业catalogoController.criterios.fecha
是java.util.Date
。
我的自定义转换器:
@FacesConverter(forClass = java.util.Date.class)
public class FechaDateConverter implements Converter {
...
public Object getAsObject(FacesContext context, UIComponent component, String value) {
log.info("getAsObject");
...
}
...
}
,因为它是大我不把这里的方法的代码。它检查条件并使用自定义facesmessages引发ConverterException,这是从自定义属性文件(“msjsConversion”)中获取的。
但它不起作用。当我输入不正确的日期时(例如“01/032011”),我的getAsObject
方法没有被触发(我知道,因为它的第一条日志行从未到达)。默认的转换信息显示为facesmessage,而不是我从我的包“msjsConversion”中获得的信息。
我认为它没有被触发的原因是因为p:calendar
绑定到的Java类不是java.util.Date
(这是我声明的转换器的类)。
所以,我检查了,如果我宣布我的转换器的ID:
@FacesConverter("fechaDateConverter")
public class FechaDateConverter implements Converter {
,我把这个在p:calendar
组件:
<f:converter converterId="fechaDateConverter" />
它的工作原理。
因此,任何人都知道哪一个是Java类p:calendar
?这样我可以为我的类声明我的转换器,而不使用converterId?
预先感谢您。
为什么你需要一个转换器FO号码:日历值?它是一个简单的日期http://www.primefaces.org/showcase/ui/calendarBasic.jsf < - 看看java代码... – Daniel 2012-01-28 08:47:08
我的转换器是一个简单的日期(请参阅我的问题)。但是,如果我将它声明为任何日期对象'@FacesConverter(forClass = java.util.Date.class)',它就不起作用。如果我明确声明组件为' ' –
choquero70
2012-01-30 17:34:22