我正在使用JSF2.2和PrimeFaces 5, 我试图在用户选择日期后立即将p:日历的值分配给另一个p:日历, 这是xhtml的一部分:
<p:calendar id="date1" value="#{form.date1}" pattern="MM/dd/yyyy" mask="true">
<f:ajax event="select" execute="date1" render="date2"/>
</p:calendar>
<p:calendar id="date2" value="#{form.date2}" pattern="MM/dd/yyyy" mask="true"/>
这是我的bean的一部分:
public void setDate1(Date date1){
this.date1 = date1;
this.date2 = this.date1;//plus some more time
}
这里唯一的问题是,date2总是落后一步,date2没有得到date1的最后一个版本,它总是采用较旧的date值!
为什么会发生这种情况,如何解决?
答案 0 :(得分:2)
适用于Primefaces 4:
<p:ajax event="dateSelect" listener="#{testBean.updateDate2}" update="date2"/>
使用TestBean
private Date date1;
private Date date2;
public void updateDate2() {
date2 = date1;
}
// + getters/setters
你的bean真的被命名为#34;形式&#34;?我相信你不应该像你一样滥用逻辑的设定者。