java - 来自支持 bean 的非空数据列表在 jsf 形式中为空

标签 java primefaces jsf-2

我有一个表单,里面有一个 p:commandButton ;当单击它时,将调用托管 bean 中的一个函数,该函数将数据收集到列表中。我需要在同一 jsf 页面上以另一种形式在对话框中打印此列表。问题是,即使我的支持 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 中,但结果是相同的。我也将所有这些都放在一种形式中,但结果仍然相同。 谢谢。

最佳答案

为您的第二个表单分配一个 ID,并使用它来更新您的组件

<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=":myForm:gstSrch" id="searchButton" value="Search" actionListener="#{controler.search}"  />
    </p:fieldset>
</h:form>
<h:form id="myForm">
    <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>

关于java - 来自支持 bean 的非空数据列表在 jsf 形式中为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44191280/

相关文章:

jsf - 通过查看参数功能可添加书签

ajax - 我如何使用 <p :fileUpload> with mode simple and ajax ="true"?

java - 阻止某些代码在程序流中执行

java - Drools-Rule Compilation error name cannot be resolved to a variable 语法错误,插入 ";"以完成语句

jsf-2 - dataTable 内 JSF 复合组件的唯一 ID

java - p :commandButton action and f:setpropertyactionlistener not invoked in p:columngroup

java - 如何在java中的主方法中测试另一个方法

Java 的 Fork/Join vs ExecutorService - 什么时候使用?

javascript - 被 JavaScript 隐藏的必需 JSF 输入组件仍然经过验证

jsf-2 - 如何使用 j_security_check jsf