将选定的行 ID 从一页转移到另一页

Transfer selected row ID from one page to another

第一页:

上下文菜单和传递参数:

<p:contextMenu for="tbl">

                        <p:menuitem value="History Alarm"  icon="ui-icon-search"  outcome="alarmMap">
                            <f:param name="siteId" value="#{dwnSite.test.id}" />
                        </p:menuitem>

 </p:contextMenu>

数据表:

<p:dataTable  id="tbl" value="#{bean.sites}" selection="#{bean.test}" selectionMode="single"  rowKey="#{dwn.id}" >  

  <p:column >                                   
   <h:outputText value="#{dwn.id}"/>
  </p:column>

第二页:

 <f:metadata>
         <f:viewParam name="id" value="#{bean.searchFeatureVal}" />
 </f:metadata>

如何将数据表的行ID从一个页面转移到另一个页面?当我尝试在同一页面的对话框中显示它时,它起作用了。

改为执行 POST 并在保存您的选择的 bean 中处理 url。应该像这样工作:

<p:menuitem value="History Alarm" icon="ui-icon-search" action="#{bean.performRedirect}" />

以及bean中要调用的方法:

public void performRedirect(){
    //Go to the detail view with the selected id as url parameter
    FacesContext.getCurrentInstance().getExternalContext()
        .redirect("detail.xhtml?id=" + test.getId());
}