Jsf 2 如何向p:calendar primefaces小部件发送的ajax请求添加小时和分钟?
我正在尝试使用primefaces框架中带有小时和分钟选择器的Jsf 2 如何向p:calendar primefaces小部件发送的ajax请求添加小时和分钟?,jsf-2,primefaces,Jsf 2,Primefaces,我正在尝试使用primefaces框架中带有小时和分钟选择器的p:calendar小部件 <p:calendar id="dateSel" pattern="dd.MM.yyyy HH:mm" converter="ruDateConv" showOtherMonths="true" selectOtherMonths="true" mode="inline" locale="ru" value="#{model.date}"> <p:ajax event="dateS
p:calendar
小部件
<p:calendar id="dateSel" pattern="dd.MM.yyyy HH:mm" converter="ruDateConv"
showOtherMonths="true" selectOtherMonths="true"
mode="inline" locale="ru" value="#{model.date}">
<p:ajax event="dateSelect" listener="#{model.onDateSelect}"/>
</p:calendar>
我得说问题出在你的转换器上你是对的,看起来很好。对我来说,它使用public void onDateSelect(SelectEvent e)、converter=“#{ruDateConv}”和remove mode=“inline”工作。无法让它在内联模式下工作,它不会发送ajax。使用pf4
@FacesConverter(value="ruDateConv")
public class RuDateConverter implements Converter {
private static Logger logger = LoggerFactory.getLogger(RuDateConverter.class);
private SimpleDateFormat df = new SimpleDateFormat("dd.MM.YYYY HH:mm");
@Override
public Object getAsObject(FacesContext fc, UIComponent uic, String string) {
logger.debug("Try to convert {}", string); //there is no hours and minutes in log
Date d = null;
try {
d = df.parse(string);
return d;
} catch (ParseException ex) {
logger.error("Can't convert "+string, ex);
throw new ConverterException("Can't convert "+string);
}
}
@Override
public String getAsString(FacesContext fc, UIComponent uic, Object o) {
logger.debug("Convert {}", o);
return df.format((Date)o);
}
}