【问题标题】:Data from JSF to JSF [duplicate]从 JSF 到 JSF 的数据 [重复]
【发布时间】:2015-03-18 18:29:13
【问题描述】:

我有 2 个 JSF 页面(例如 page1 和 page2)。第一个表示包含用户数据的表。

 <h:dataTable value="#{dataBean.collection}" var="contact">
    <h:column>
        <f:facet name="header">
            First name
        </f:facet>
        <h:outputText value="#{contact.firstName}"/>
    </h:column>

    <h:column>
        <f:facet name="header">
            Last Name
        </f:facet>
        <h:outputText value="#{contact.secondName}"/>
    </h:column>

    <h:column>
        <f:facet name="header">
            Phone
        </f:facet>
        <h:outputText value="#{contact.phone}"/>
    </h:column>


    <h:column>
        <f:facet name="header">
            Details
        </f:facet>
        <h:button outcome="#{dataBean.doSomeMagic(contact)}"  value="Detailed info" />
    </h:column>
</h:dataTable>

所以,当我们点击“详细信息”按钮时,我们应该被重定向到显示当前用户详细信息的 page2。问题是在这两个页面之间组织数据传输的最佳方式是什么。我尝试开发一些方法("doSomeMagic") 保存 bean 状态并返回导航规则的字符串,但我总是从表的最后一行获取用户。

public String doSomeMagic(UserBean userBean){
    beanToDisplay = userBean;
    return "user";
}

Page2 显示来自 beanToDisplay 字段的信息。我不想重新发明轮子,想知道解决这个任务的基本方法。谢谢你的回复!

【问题讨论】:

    标签: jsf jsf-2


    【解决方案1】:

    您可以为此目的使用requestScope。通过在requestScope 中设置数据,您可以在下一个请求(页面)中访问它。

    在此示例中,您可以在 控制器 内的 request 中设置用户数据,然后在下一页中读取该数据。

    【讨论】:

      猜你喜欢
      • 2014-06-28
      • 2015-03-16
      • 2012-08-20
      • 2019-04-15
      • 2014-07-14
      • 2011-01-08
      • 1970-01-01
      • 1970-01-01
      • 2013-01-27
      相关资源
      最近更新 更多