3

PrimeFaces(2.2.1)Editorコンポーネント、Refreshボタン、およびselectOneMenuを含むページがあります。これらの選択は、次のようにEditorのコンテンツに影響します。

<p:editor id="uploadedText" value="#{facilityDataUploadBean.uploadedText}"
          width="600" height="180" disabled="true" controls="" />
<h:commandButton value="Refresh" immediate="true" />
<h:selectOneMenu id="skipLines" styleClass="dropdown"
                 value="#{facilityDataUploadBean.skipLines}">
    <f:selectItems value="#{facilityDataUploadBean.skipLinesList}" />
    <f:ajax listener="#{facilityDataUploadBean.importParameterChanged}" />
</h:selectOneMenu>

facilityDataUploadBean.importParameterChanged更新facilityDataUploadBean.uploadedText。selectOneMenu値を変更した後、オペレーターは[更新]ボタンを押して、の内容を含むページを更新しますp:editorp:editor(少なくともPF 2.2.1では、AJAXが正しく再レンダリングされないため、AJAXを使用して単純に更新することはできません。)

値が変更されたときにページの更新を自動的に実行できるはずのようですselectOneMenuが、それを実行する属性とイベントの組み合わせを思い付くことができませんでした。私は、イベントで、そして、onchange="submit();"イベントimmediate="true"で、のさまざまな組み合わせを試しましvalueChangeListenerたが、すべて役に立ちませんでした。私の現在の回避策は、ユーザーが選択を変更するたびに[更新]ボタンを押すように求めるメッセージを表示することです。selectOneMenuexecute="@all/@form"render="@all/@form"f:ajaxselectOneMenu

4

2 に答える 2

5

次のように、イベントでwindow.location.replace(window.location.href)はなく呼び出します。submit()onchange

<h:selectOneMenu id="skipLines" ... onchange="window.location.replace(window.location.href);">
    <f:selectItems ... />
    <f:ajax ... />
</h:selectOneMenu>
于 2012-06-22T04:07:49.450 に答える
1

onchange="window.location.reload();"次のようなアプローチを試してください。

<h:selectOneMenu id="skipLines" ... onchange="window.location.reload();">
    <f:selectItems ... />
    <f:ajax ... />
</h:selectOneMenu>

これは私の環境(GF 3.1.1、PF 3.2)では問題なく機能しますが、いくつかのajax機能を中断する可能性があることに注意してください。

これがお役に立てば幸いです。楽しんでください。

于 2012-06-21T08:43:26.940 に答える