日期选择后,PrimeFaces日历更改模式

时间:2015-06-15 06:12:54

标签: jsf-2 primefaces calendar

我在页面上使用PrimeFaces calendar component。模式属性设置为MM/dd/yyyy HH:mm:ss。组件值属性链接到bean中的java.util.Date变量。当我以我期望的格式打开页面日期时,但在更改值之后,格式将始终更改为不同的格式。

预期格式 - 06/15/2015 08:00:30

更改值后的格式 - 06/15/2015 8:00 AM

组件ussage。

<p:calendar value="#{someBean.someJava.UtilDateVariable}" pattern="MM/dd/yyyy HH:mm:ss" locale="en">
     <f:convertDateTime pattern="MM/dd/yyyy HH:mm:ss"/>
</p:calendar>

我已经尝试检查primefaces展示和文档,不同的语言环境规范以及当前本地化的本地化脚本的使用但没有效果。

欢迎提出任何建议。

2 个答案:

答案 0 :(得分:2)

您不需要<f:convertDateTime pattern="MM/dd/yyyy HH:mm:ss"/>。此标记将String转换为Object,反之亦然。

Primefaces文档仅使用Pattern属性,有时locale属性会导致麻烦。 尝试:

<p:calendar value="#{someBean.someJava.UtilDateVariable}" pattern="MM/dd/yyyy HH:mm:ss"/>

答案 1 :(得分:0)

我知道这很旧,但是我遇到了一些问题,日历显示正确的日期,但是当我打开日期选择器时,模式似乎是错误的。

三个小时后,我结束了引导程序。

为了快速解决问题,我在jsf页面上添加了一个包含模式设置的javascript文件:

在XHTML中

<h:outputScript library="js" name="myscripts.js" />

在JS中

$(document).ready(function() {
    $.fn.datepicker.defaults.format = "dd/mm/yyyy";
});