我有两个日历。用户不应该在日历1中的日期之前选择日历2中的日期。此外,如果日历选择一个在日历2之后的值,则日历2应自动更改为与日历1相同的日期。
这是index.html。 “vom”是日历1,“bis”是日历2。
<p:calendar id="vom" value="#{IndexBean.vom}" maxlength="50"
navigator="true" pattern="dd.mm.yyyy" locale="de" mask="true" >
<f:ajax event="dateSelect" execute="vom" listener="#{IndexBean.dateChanger}" render="vom bis" />
</p:calendar>
<p:calendar id="bis" value="#{IndexBean.bis}" maxlength="50"
navigator="true" pattern="dd.mm.yyyy" locale="de" mask="true" mindate="#{IndexBean.vom}">
<f:ajax event="dateSelect" execute="bis" listener="#{IndexBean.dateChanger}" render="vom bis"/>
</p:calendar>
这是dateChanger方法
public void dateChanger() {
try {
if (bis.before(vom)) {
bis = (Date) vom.clone();
}
} catch (Exception e) {
}
}
问题是一切正常,因为两个日历都在同一个月。我调试了dateChanger,我真的很困惑来自日历的值。它似乎并不依赖于浏览器。日期的类型是java.util.date。
为什么会发生这种情况的任何线索?
Java 1.8 JSF 2.2.14
答案 0 :(得分:0)
你使用了错误的模式。在
@Entity(tableName = "Books_To_Read")
pattern="dd.mm.yyyy"
表示'分钟'而不是'月'。月份为“MM”,因此将其更改为
mm