0

私はバッキングビーンを持っていますViewScopedSelectBooleanCheckboxフォームに ajax 対応の esがいくつかあります。例:

<p:selectBooleanCheckbox value="#{formBean.value2}">  
    <p:ajax update=":theform"/>  
</p:selectBooleanCheckbox>

通常、いくつかの非表示の入力フィールドは、ビューステート ID を通過するために html にある必要があります。問題は、それらが最初のページ要求で開始されないことです。チェックボックスの 1 つをクリックすると、フォーム (したがってチェックボックス) が更新されます。この時点から、ビューステート ID がこれらのチェックボックスとともに送信されるため、ビューステートを保持できます。

これの最大の問題は、最初の ajax 呼び出しで一連の新しい ViewScoped Bean が開始されるため、最初のアクションに関するデータが失われることです。それ以降、すべてが適切に機能しているようです。

何が問題なのかについて、誰かが私に指示を与えることができますか?

正確なコード:

        <p:panel header="Schedule" toggleable="true">
            <form>
                <p:outputPanel id="schedule">
                    <ui:repeat var="scheduleDay" value="#{jobBean.jobScheduleDays}">
                        <div>
                            <p:selectBooleanCheckbox value="#{scheduleDay.selected}" style="margin:4px">
                                <p:ajax update=":schedule" />
                            </p:selectBooleanCheckbox>
                            <h:outputText value="#{scheduleDay.readableDay}" style="text-transform:capitalize"/>
                        </div>
                    </ui:repeat>
                </p:outputPanel>
            </form>
        </p:panel>
4

1 に答える 1