我刚刚将PrimeFaces从4.2升级到6.2,我立即注意到日历出现故障。 实际上,当我将日期格式设置为 MMM dd,yyyy hh:mm a 时,将不再显示用于插入的弹出按钮。
这是我的.xhtml页面中的日历组件
<p:calendar value="#{pakVeFormA.endDate}"
pattern="#{languageBean.dtPatterns[languageBean.local]}"
mindate="#{pakVeFormA.today}"
showOn="button" showButtonPanel="true"
readonlyInput="true" timeZone="Asia/Karachi"/>
模式是“ MMM dd,yyyy hh:mm a”
控制台中显示“未捕获的错误时间格式”
我注意到通过删除图案或提示,弹出按钮可以正确显示。 因此,我尝试在pakVeFormA Bean中格式化新的Date(),但是没有任何变化。 我还尝试用诸如'mindate =“ Jan 03,2019 08:00 PM”'这样的静态字符串注入分钟日期,但是这次也没有任何改变。
最后,我尝试将模式更改为“ MMM dd,yyyy HH:mm”,并且日历工作正常,但我需要AM / PM格式
感谢所有人
更新: 我复制了测试用例。
这是豆子
@ManagedBean(name = "testFormBean")
@ViewScoped
public class TestFormBean implements Serializable {
private static final long serialVersionUID = 1L;
private Date today;
private Date selectedDate;
@PostConstruct
public void init() {
today=new Date();
}
public Date getToday() {
return today;
}
public void setToday(Date today) {
this.today = today;
}
public Date getSelectedDate() {
return selectedDate;
}
public void setSelectedDate(Date selectedDate) {
this.selectedDate = selectedDate;
}
}
这是组件
<p:calendar value="#{testFormBean.selectedDate}"
pattern="MMM dd, yyyy hh:mm a"
mindate="#{testFormBean.today}"
showOn="button" showButtonPanel="true"
readonlyInput="true" timeZone="Asia/Karachi"/>
但仍然无法正常工作。如果我删除了主意财产,一切正常
答案 0 :(得分:1)
已复制问题,并已在PF GitHub页面上提交了错误:
https://github.com/primefaces/primefaces/issues/4366
更新01/10/2019 :该错误已修复,将出现在PF 6.3中