我正在使用Mojarra,PrimeFaces 2.2.1和Tomcat 6.x开发JSF 2.0项目。
我的申请已国际化。我使用这样的primefaces日历:
<p:calendar value="#{boxItem.agendaDate}" mode="inline"
showOtherMonths="true" styleClass="agendaHBox"
selectListener="#{boxItem.handleAgendaDateChange}"
onSelectUpdate="@form"/>
当我的语言环境与英语不同并且我使用selectListener属性时会出现问题。
例如,当locale设置为Spanish时会发生这种情况。 当日历出现时,它将设置为当前日期:2011年3月24日。 当我点击2011年3月25日的其他日期时,正在调用selectListener方法,但我收到的日期是“Thu May 03 00:00:00 CEST 2012” 议程突然变为2012年3月5日。
selectListener方法是:
public void handleAgendaDateChange(DateSelectEvent event)
{
System.err.println("handleAgendaDateChange = " + event.getDate());
}
如果我删除selectListener属性,则日历行为正确(保留为2011年3月并选择第17个),但在这种情况下,我在处理日期更改时遇到问题。
我需要一些代码,当用户在日历控件中选择一个新日期并使用Ajax请求将其传递给后端时,将运行这些代码。没有selectListener我怎么能这样做?
答案 0 :(得分:2)
如果您使用不同于en的语言环境(list of open issues related to calendar and locale),p:calendar
似乎是错误的。