【问题标题】:Transfer selected row ID from one page to another将选定的行 ID 从一页转移到另一页
【发布时间】:2015-07-08 17:30:27
【问题描述】:

首页:

上下文菜单和传递参数:

<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从一页转移到另一页?当我尝试在同一页面的对话框中显示它时,它可以工作。

【问题讨论】:

  • 你在哪里导航到第二页?
  • @Kukeltje 在同一个应用程序中。
  • 您希望在代码中的哪个位置导航到第二页
  • 或者换句话说,显示你尝试了什么
  • @Kukeltje 我已编辑。很抱歉造成混淆。&lt;p:menuitem value="History Alarm" icon="ui-icon-search" outcome="alarmMap"&gt; &lt;f:param name="siteId" value="#{dwnSite.test.id}" /&gt; &lt;/p:menuitem&gt;

标签: jsf jsf-2 primefaces


【解决方案1】:

改为执行 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());
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-12-15
    • 2010-12-06
    • 1970-01-01
    • 1970-01-01
    • 2013-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多