我有一个p:datatable
,在选择时我想导航到不同的页面。我能够用<p:ajax event="rowSelect" listener="#{users.onUserSelect(userInformation.id)}"/>
做到这一点
public void onUserSelect(long id) {
System.out.println("user selected" + id);
try {
FacesContext.getCurrentInstance().getExternalContext().redirect("users/user.jsf?id=" + id);
FacesContext.getCurrentInstance().responseComplete();
} catch (IOException e) {
e.printStackTrace();
}
}
在生成的页面中,我想使用该ID从数据库中获取一些数据并将其显示出来。那么,首先,这种方法可以吗?如果是,我应该如何/在哪里使用请求参数在结果页面中获得该ID?或者可能还有其他一些最佳实践来实现我想要的?
在结果页面中:
<f:metadata>
<f:viewParam name="id" value="#{switchController.id}" />
<f:viewAction action="#{switchController.loadData}"/>
</f:metadata>