這就是我現在工作的東西,但不知道這是否是正確的做事方式。
首先我重寫URL作爲.addRule(Join.path("https://stackoverflow.com/users/{id}").to("/views/user/show.jsf"))
,我讓網址爲
<h:column>
<f:facet name="header">Show</f:facet>
<h:outputLink value="https://stackoverflow.com/users/#{user.id}">Show</h:outputLink>
</h:column>
這生成URL作爲/users/1
或/users/200
等
現在我可以訪問用戶ID參數來自jsf頁show.xhtml
作爲<h:outputText value="#{param['id']}" />
我還可以從豆訪問參數爲
public void show(){
Map<String, String> params = FacesContext.getCurrentInstance().
getExternalContext().getRequestParameterMap();
String user_id = params.get("id");
}
或者我也可以做這樣的事情
在show.xhtml
爲
<ui:param name="user" value="#{userController.show(param['id'])}" />
Name: #{user.firstName}
和userController
作爲
public User show(Integer id){
user = userService.findById(id);
return user;
}