将bean数据从一个jsf facelet发送到另一个

时间:2012-12-15 20:27:35

标签: jsf

我的jsf应用程序中有一个表,其中包含数据库中的一些数据。我已将id值设为链接,我的目标是将数据从所选行传递到另一个facelet。我怎样才能做到这一点?我有的href是:

 <td><a href="editOrDeletePage.xhtml?productid=#{product.id}">#{product.id}</a></td>

所以目标是当用户点击链接时,会显示editOrDeletePage,我希望editOrDeletePage“提取”产品ID,以便知道要显示哪些数据?我怎么能这样做?

1 个答案:

答案 0 :(得分:2)

如果你定义想要使用静态链接,你当然可以使用某种事件监听器从目标页面读取请求参数

<f:event listener="#{bean.preRender}" type="preRenderView" />

从请求中读取参数:

FacesContext facesContext = FacesContext.getCurrentInstance();
String productId = (String) facesContext.getExternalContext().
                              getRequestParameterMap().get("productid");

但我相信它并不是真正的JSF方式来处理导航。您可能希望使用commandLink或其他一些处理用户操作的方法。或者,更好的是,考虑使用数据表,用户可以选择一行,并且可以处理选择。

相关问题