1

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

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

所以目标是当用户单击链接时,显示editOrDeletePage,我希望editOrDeletePage“摄取”产品id,以便它知道要显示什么数据?我怎样才能做到这一点?

4

1 回答 1

2

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

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

并从请求中读取参数:

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

但我相信,这并不是真正的 JSF 处理导航的方式。您可能想要使用 commandLink 或其他处理用户操作的方式。或者,甚至更好的是,考虑使用数据表,用户可以在其中选择一行,然后您可以处理选择。

于 2012-12-15T20:59:10.160 回答