2012-08-10 1 views
1

일부 URL을 PrettyFaces로 다시 쓰는 동안 상위 URL 매핑을 사용하여 매핑 조합을 만들었습니다.가변 개수의 경로 매개 변수를 사용하는 PrettyFaces 및 url-mapping

예를 들어 2 개의 필터로 뉴스를 필터링하는 페이지가있는 JSF 애플리케이션을 상상해보십시오. 검색하는 동안 페이지 URL은 다음과 같이됩니다.

www.news.com/search.jsf?category=socials&topic=music&page=0 

문제는 카테고리와 주제가 선택적 매개 변수라는 것입니다. 모든 조합에 대해 매핑을 작성해야합니까? 아니면 기존 매개 변수가 무시되고 경로 매개 변수가 추가되거나 간과되지 않는 곳에서 이와 같은 작업을 수행 할 수있는 방법이 있습니까?

검색 페이지 매김 같은 경우를 들어
<url-mapping id="searchResultList"> 
    <pattern value="/search/#{cat/}#{topic/}#{page/}"/> 
    <view-id value="/pages/search.jsf"/> 
</url-mapping> 

답변

3

, 나는 보통 (쿼리 매개 변수, IMO 여기에 적합한) 경로 매개 변수를 사용하지 않는 것이 좋습니다하지만 여전히 이런 일을 수행하려는 경우, 당신이 중 하나를 취할 수 몇 가지 잠재적 인 접근 방법 :

  1. 각 조합에 대한 매핑을 작성합니다. 이것이 가장 신뢰할만한 접근법입니다.

    http://ocpsoft.org/docs/prettyfaces/3.3.2/en-US/html_single/#config.mapping.parents

  2. 정규식 구성된 매핑 쓰기 지정 동작 방법에있어서 손으로 동적 파라미터를 파싱 :

    < URL 매핑 ID = "searchResultList"부모 매핑 복잡성을 감소시킬 수있다 >
    < 패턴 값 = "/ 검색 /#{/.*/ 고양이}"/ >
    <보기-id 값 = "/ 페이지/search.jsf"/ >
    < 행동 > # {urlParsingBean.parseMyURL} </액션 >
    </URL 매핑 나는이 도움이 희망 >

. ~ 링컨

+0

페이지 매개 변수에 매핑을 만들고 선택적 매개 변수에 대한 쿼리 매개 변수를 남깁니다. 언제나 유용합니다! 링컨에 감사드립니다! – Gamb

+0

당신은 환영합니다. 도움이 된다니 기쁘다! – Lincoln