【问题标题】:PrimeFaces calendar change pattern after date selection日期选择后 PrimeFaces 日历更改模式
【发布时间】:2015-08-30 13:11:08
【问题描述】:

我在页面上使用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

组件使用情况。

<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 展示和文档、不同的语言环境规范以及当前本地化的本地化脚本的使用,但没有任何效果。

欢迎提出任何建议。

【问题讨论】:

    标签: jsf-2 primefaces calendar


    【解决方案1】:

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

    Primefaces 文档仅使用 Pattern 属性,有时 locale 属性会引起麻烦。 试试:

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

    【讨论】:

    • 嗨@Miguel。我也试过没有转换器,也有/没有语言环境,但没有成功。
    • Miguels 的回答直接来自展示柜。我也测试了它并且它有效。你的 bean 或你的 getter/setter 方法中一定有一些东西。
    【解决方案2】:

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

    三个小时后,我结束了它是引导模式。

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

    在 XHTML 中

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

    在 JS 中

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-01
      • 2011-07-22
      • 1970-01-01
      • 2018-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      相关资源
      最近更新 更多