1

私はjsfが初めてで、リッチフェイスを使用して最初のアプリケーションを作成しています。rich:calendar コンポーネントのサーバー上の関連マネージド Bean プロパティを更新するために使用する ajax タグに問題があります。これはコードです:

<rich:panel header="Computing Options">
            <h4>Time Interval</h4>
            <h:panelGrid columns="4" width="100%">
                <h:outputText value="From" />
                <rich:calendar id="intervalFrom" value="#{scenarioEditor.intervalFrom}" popup="true" showApplyButton="true" datePattern="yyy-MM-ddTHH:mm">
                    <a4j:ajax execute="@this" event="change" render="outFrom" />
                </rich:calendar>
                <h:outputText value="To" />
                <rich:calendar id="intervalTo" value="#{scenarioEditor.intervalTo}" popup="true" showApplyButton="true" datePattern="yyy-MM-ddTHH:mm">
                    <a4j:ajax execute="@this" event="change" render="outTo" />
                </rich:calendar>
                <h:outputText id="outFrom" value="From: #{scenarioEditor.intervalFrom}" />
                <h:outputText id="outTo" value="To: #{scenarioEditor.intervalTo}" />
            </h:panelGrid>
            <h4>Algorithms</h4>
            <h:panelGrid columns="2"> 
                <h:selectBooleanCheckbox value="#{scenarioEditor.visibilityClashes}" id="clash" >
                    <f:ajax execute="@this"/>
                </h:selectBooleanCheckbox>
                <h:outputLabel value="Visibility Clashes Evaluator" for="clash" style="width:170px" />
                <h:selectBooleanCheckbox value="#{scenarioEditor.xBandInterference}" id="xband" >
                    <f:ajax execute="@this"/>
                </h:selectBooleanCheckbox>
                <h:outputLabel value="X-Band Interferences Evaluator" for="xband" style="width:170px"/>
            </h:panelGrid>
        </rich:panel>

チェックボックスは正常に機能しますが、カレンダーは機能しません。なんで?f:ajax と a4j:ajax の両方を試しましたが、うまくいきませんでした。

より明確にするために、ユーザーがカレンダーに値を入力し終わった直後に、関連付けられたプロパティのセッター メソッドを呼び出す ajax リクエストが行われるようにしたいと考えています。これは、カレンダーでは発生しませんが、チェックボックスでは発生します。

4

1 に答える 1