【发布时间】: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 字段的信息。我不想重新发明轮子,想知道解决这个任务的基本方法。谢谢你的回复!
【问题讨论】: