我在标签中有自己的日历:
<cust:customField label="test" forId="calendarId">
<p:calendar id="calendarId"
value etc...
pattern="yyyy-MM-dd HH:mm:ss"
mask="true"
styleClass="ui-inputdate"
readonlyInput="true"
locale="pl"
required="true"
</p:calendar>
</cust:customField>
在下面我输入了:
<h:panelGroup>
<p:inputText id="newHour">
<p:ajax event="change" update="calendarId"/>
</p:inputText>
<h:outputText value="h"/>
</h:panelGroup>
我尝试让如果有人向“newHour”发送值,它将更新“calendarId”中的“HH”值。这可能吗?
最佳答案
.xhtml:
<p:inputText id="newHour" value="#{myBean.hours}>
<p:ajax listener="#{myBean.changeHours()}" update="calendarId"/>
</p:inputText>
myBean:
private int hours;
private Date date;
public void changeHours(){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.set(Calendar.HOUR_OF_DAY, hours);
date = calendar.getTime();
}
//getter + setter
请注意,date.setHours() 也可以代替使用额外的日历,但由于国际化的一些问题,该构造函数已被弃用。
关于java - 通过输入更改日历值 - Primefaces,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40844998/