Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Primefaces日历:无法设置日期格式_Primefaces_Jsf 2 - Fatal编程技术网

Primefaces日历:无法设置日期格式

Primefaces日历:无法设置日期格式,primefaces,jsf-2,Primefaces,Jsf 2,更新:我使用primefaces日历显示日期。它的默认格式是mm/dd/yy,但对于其他语言环境,如德语,则是dd.mm.yy。如果我为英语指定了格式,例如dd/MM/yyyy,那么它将显示英语的正确格式,但在将语言更改为德语时,它将再次显示dd/MM/yyyy,而不是dd.MM.yyyy 我试过这个: <p:calendar id="createdDateToDK" value="#{messagesDefaultKeys.createdDateTo}" showOn="butt

更新:我使用primefaces日历显示日期。它的默认格式是mm/dd/yy,但对于其他语言环境,如德语,则是dd.mm.yy。如果我为英语指定了格式,例如dd/MM/yyyy,那么它将显示英语的正确格式,但在将语言更改为德语时,它将再次显示dd/MM/yyyy,而不是dd.MM.yyyy

我试过这个:

<p:calendar id="createdDateToDK"
    value="#{messagesDefaultKeys.createdDateTo}" showOn="button"
                mode="popup" navigator="true" pattern="dd/MM/yyyy>
                <f:converter converterId="messages.convertors.DateConvertor" />
</p:calendar>

无需使用日期转换器,
日历
带有一个名为pattern的属性,您可以使用它来更改日期的模式,例如
这将显示
21.02.2017 15:42
,您可以更改模式来分隔日期,但您喜欢使用点,slach或任何字符

第一个示例中有一个错误:on pattern=“MM/dd/yyyy缺少结束引号。我通常使用第一个示例。CreatedDataTo是什么类型的?我看到您使用了convertorAh…可能缺少引号:(但现在还有另一个问题,相同的格式适用于所有地区,例如德语,它与英语dd/MM/yyyy相同,而应该是dd.MM.yyyy createDateTo是java.util.Date格式尝试使用字符串pattern1=((SimpleDateFormat)DateFormat.getDateInstance从bean字段以EL表达式的形式发送格式。)(DateFormat.SHORT,locale)).toPattern();您将获得指定localeYes的默认日期格式,但如果遵循此方法,则本地化将停止工作,因为每个区域设置模式都是相同的。您需要包括primefaces区域设置。请参阅
<p:calendar id="createdDateToDK"
            value="#{messagesDefaultKeys.createdDateTo}" showOn="button"
            mode="popup" navigator="true">
            <f:convertDateTime for="createdDateToDK" pattern="dd/MM/yyyy"></f:convertDateTime>
</p:calendar>