按输入更改日历值 - Prime Faces

时间:2016-11-28 13:01:34

标签: java primefaces

我在标签上有自己的日历:

    <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>

如果有人向&#34; newHour&#34;它会更新&#34; HH&#34;值&#34; calendarId&#34;。这可能吗?

1 个答案:

答案 0 :(得分:1)

.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()也可以使用而不是使用额外的日历,但由于国际化的一些问题,不推荐使用构造函数。