2016-09-25 1 views
0

를 다시 작성. 내가 일치 할 필요 등 /users/1 또는 /users/200로 URL이있는 경우 예를 들어, 그들 또한 어떻게 이것을 달성 할 수 /views/user/edit.jsfJSF : 현재 내가</p> <pre><code>.addRule(Join.path("/users").to("/views/user/index.jsf")) </code></pre> <p>다음과 같이 URL을 다시 작성하지만 지금은 번호 (사용자 ID)를 포함 URL을 다시 작성해야 나머지 URL에서 ID를 얻거나 URL

에 URL을 /users/1/edit 또는 /users/200/edit를 다시 작성해야, 마찬가지로 /views/user/profile.jsf

보려면 어떻게?

답변

0

이것은 현재 나를 위해 일하는 것이지만 올바른 일을하는 방법인지 확실하지 않습니다.

먼저 나는 .addRule(Join.path("https://stackoverflow.com/users/{id}").to("/views/user/show.jsf"))

같은 URL을 다시 작성하고 나는이 내가 사용자 ID 매개 변수를 액세스 할 수있는 등 /users/1 또는 /users/200 이제

로 URL을 생성

<h:column> 
       <f:facet name="header">Show</f:facet> 
       <h:outputLink value="https://stackoverflow.com/users/#{user.id}">Show</h:outputLink> 
      </h:column> 

로 URL을 만들 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"); 
} 

으로 콩에서 매개 변수에 액세스 할 수 있습니다 또는 나는 또한

<ui:param name="user" value="#{userController.show(param['id'])}" /> 

Name: #{user.firstName} 

show.xhtml

뭔가를 할 수있는 userController

public User show(Integer id){ 
    user = userService.findById(id); 
    return user; 

} 

관련 문제