私の中にはp:commandButtonがあります。これをクリックすると、マネージドBeanの関数が呼び出され、データがリストに収集されます。このリストを同じjsfページの別のフォームのダイアログで印刷する必要があります。問題は、バッキングBeanの私のリストが空ではないにもかかわらず、jsfページのフォームにあるときはnullです。私は間違って何をしていますか?これらは次の形式です。空ではありませんbacking beanからのデータのリストがjsf形式で空です
<h:form>
<p:fieldset legend="Search for people" toggleable="true" toggleSpeed="500" style="width: 365px">
<p:panelGrid columns="2" >
<p:outputLabel for="confName" value="Name"/>
<p:inputText id="confName" value="#{controler.name}" />
...
</p:panelGrid>
<p:commandButton update="gstSrch" id="searchButton" value="Search" actionListener="#{controler.search}" />
</p:fieldset>
</h:form>
<h:form>
<p:repeat value="#{controler.people}" var="con" id="gstSrch" rendered="#{not empty controler.people}">
<p:panelGrid columns="4">
<h:outputText value="#{con.name}"/>
....
</p:panelGrid>
</p:repeat>
</h:form>
管理対象BeanはSessionScopedであり、他のすべての形式で使用すると動作します。 あなたはとても親切で正しい方向に向いていますか?何とかリセットされたり、実際には決して設定されていないようです。 Application ScopedをマネージドBeanに配置しようとしましたが、結果は同じです。私もこのすべてを1つの形式でパットしますが、結果は同じです。 ありがとうございます。
が1でそれを置きますフォームとボタンの属性を変更する 'update =" @ form "' –
@Vasil Lukachありがとう、それを解決しました! – mimi
1つのフォームを使用していないのは、実際の問題ではない可能性が最も高いです。更新属性の値が間違っている可能性は非常に高いですが、問題の説明はそれほど良いものではありませんでした...他の回答はちょうど良いものでした...だから、更新属性をどのように使うべきか/使用する方法を学んでください。子要素にIDを付加するnamingcontainersについて学び、他のnamingcontainersに要素を追加する方法を学ぶ...貴重な知識!!! – Kukeltje