Java JSF/primefaces-将属性传递给对话框

Java JSF/primefaces-将属性传递给对话框,java,dialog,primefaces,Java,Dialog,Primefaces,我目前正在尝试将一些数据从datatable传递到dialog,然后确认一些操作。我的问题是将bean传递给对话框可以正常工作,但是当我试图通过单击save按钮来保存它时,它看起来是空的 代码: <p:column> <p:commandButton value="Mark" update="showPlayers:display" oncomplete="userDialog.show()" > <f:setPropertyActionListener va

我目前正在尝试将一些数据从datatable传递到dialog,然后确认一些操作。我的问题是将bean传递给对话框可以正常工作,但是当我试图通过单击save按钮来保存它时,它看起来是空的

代码:

<p:column>
 <p:commandButton value="Mark" update="showPlayers:display" oncomplete="userDialog.show()" >
  <f:setPropertyActionListener value="#{user}" target="#{manageUser.selectedUser}" />
 </p:commandButton>
</p:column>
...
<p:dialog header="Mark" widgetVar="userDialog" resizable="true" id="userDlg"
                       width="400" showEffect="fade" hideEffect="explode" modal="true">
    <h:panelGrid id="display" columns="2"
           <!-- this below works fine -->
      <h:outputText value="#{manageUser.userSelected.email}"/>                      

      <p:commandButton ajax="false" value="Save" actionListener="#{manageUser.addNewFeature}" oncomplete="userDialog.hide()" />

    </h:panelGrid>
 </p:dialog>

...
  • 只要您从返回null或void,@viewscope bean就会存在 操作方法(从而导航回同一视图)
  • @RequestScope bean将在每个请求结束时被丢弃,并且 在每次新请求时重新创建,因此将丢失所有原始 财产
  • 尝试更改要查看的范围


    我尝试了session scope,希望它能解决我的问题。所以我改变了结构,但谢谢你的回答。