私はPFフォーラムでこれを尋ねましたが、私はここで私の運を試してみたいと思います。JSF Primefaces TabViewの問題
私はそれがTabViewの中にあるときにAjax呼び出しの後で正しく更新されないui:repeatを持っています。
シンプルなシナリオでは、ArrayList(ArrayListにはStringを持つ単純なpojosが含まれています)をポイントしているui:repeatがあります。この中にはh:inputTextがあり、その値はpojoのString getter/setterです。 ui:repeatは、h:panelGroup内に含まれています。私はp:commandButtonを使ってArrayListを更新するアクションを実行します(オブジェクトのいくつかをStringのMath.random値に追加してからh:panelGroupを更新します)。 ArrayListの更新された値は、ui:repeat入力フィールドに反映されません。これは、outputTextフィールドが正しく更新されるため、入力フィールドに影響するように見えます。また、私がp:dataTableに対して同じことを行うと、入力フィールドが正しく更新されます。 TabviewタグとTabタグを削除するとうまく動作します。
タブを削除するときに動作するので、これはバグだと思うだけで、このように動作するようには設計されていません。誰かがこれがそうであるかどうか、または実行可能な仕事があるかどうかを確認してください。フィールドは表形式ではないので、私はui:repeatを使用する必要があります。これは、PF 2.2からの移行以降に発生しています。私は、これはPrimefacesのcommandButtonのバグのようなものです、現在
2.0.4 PF 3.1は、WebLogic 10.3.4およびクロサギ科の<p:tabView>
<p:tab title="Test">
<h:form prependId="false">
<p:commandButton id="testStringCheck"
value="Test String Check"
process="@form"
update="testPanel"
action="#{testBean.generateVOwithRandomStrings}">
</p:commandButton>
<h:panelGroup id="testPanel" layout="block">
<ui:repeat value="#{testBean.voList}" var="entry">
<h:outputText value="#{entry.randomString}"/>
<p:inputText style="display:block;"
value="#{entry.randomString}"
size="15">
</p:inputText>
</ui:repeat>
</h:panelGroup>
</h:form>
</p:tab>
</p:tabView>
返信ありがとうございますが、これで問題は解決されませんでした。私はすでにh:commandButtonとpfバージョンのリンクを試しています。 – andyfinch
@andyfinchプロセス属性を削除しようとしましたか?おそらく必要ないでしょう。 –
デフォルトはフォームに設定されていますか?たとえそれがあっても、読みやすさのためにそれを追加します。 – andyfinch