0
私はこの問題を解決しようとしていましたが、解決できませんでした。問題は、ユーザーがポップアップカレンダーで日付を選択したときに発生する準備ができているが、リスナーは決して実行されないdateSelectイベントを持つカレンダーがあることです。構文は私の観点から正しいです。dateSelectイベントがp:calendarで実行されていない
form.xhtmlカレンダーコード。
<p:calendar value="#{travel.departureDate}" required="true"
id="departureDate" pattern="MM/dd/yyyy HH:mm:ss"
onfocus="$('#ui-datepicker-div td').unbind();" readonly="true">
<p:ajax event="dateSelect" actionListener="#{travelControl.alterDate}"
update=":main-form:departureDate" />
</p:calendar>
すべてはフォーム内とパネルグリッドコンテナ内にあります。
Beanメソッドは次のとおりです。日付を選択すると、それが原因ではない適切に発射されるイベントに変更されていなかったとして
public void alterDate(SelectEvent event) {
System.out.println("Hour [Pre] "
+ travel.getDepartureDate().toString()); //debug
travel.setDepartureDate((Date) event.getObject());
System.out.println("Hour [Post] "
+ travel.getDepartureDate().toString()); //debug
}
は、その後、一瞬のためのテキストフィールドの値が変更とは、Beanの1にリセットされます。代わりのactionListenerの
私はすでにそれを試してみましたが、前と同じ動作を持っています。 – Niconoid
あなたのalterDateメソッドでコードを削除しようとしましたが、ログメッセージが吐き出されているかどうかを調べるだけでしたか?あなたのコードを複製し、 "actionListener"を "listener"に変更すると動作します。あなたの方法では、どこから「旅行」を得るのですか? – user3667591
ここから旅行します。 '@ManagedProperty(value ="#{travel} ") \tプライベートBeanTravel travel;'。私はそれらが実行されているかどうかをチェックするためにそれらの.out.printlnを持っており、日付を選択するときに何も得られません。 – Niconoid