2012-05-07 1 views
1
내가 그 코드 (꽤-config.xml의) 내부에서 작성하려합니다

는 : 단순히 내 모든 페이지를 가지고위한PrettyFaces : 모든 JSF 페이지를 만들는 "확장자없는"

<pretty-config xmlns="http://ocpsoft.com/prettyfaces/3.3.2" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://ocpsoft.com/prettyfaces/3.3.2 
             http://ocpsoft.com/xml/ns/prettyfaces/ocpsoft-pretty-faces-3.3.2.xsd"> 

<!--- ??? ---> 

</pretty-config> 

을 ".jsf의/매핑. xhtml ".

/관리/listusers =>

이 당신에게

답변

0

감사 /admin/listusers.jsf 당신은 당신이 모두를 매핑 할 않는 내가, 내 머리 위로 떨어져 생각할 수있는 몇 가지 옵션이 있습니다 전통적인 PrettyFaces 매핑을 사용하여 응용 프로그램의 URL은 ...

는이 같은 것을 사용하여 PrettyFaces 규칙을 사용할 수 있습니다 :

<pretty-config xmlns="http://ocpsoft.com/prettyfaces/3.3.2" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://ocpsoft.com/prettyfaces/3.3.2 
            http://ocpsoft.com/xml/ns/prettyfaces/ocpsoft-pretty-faces-3.3.2.xsd"> 

    <rewrite match="(?!.*.jsf.*)(.*)" substitute="$1.jsf" outbound="false" inbound="true"/> 
    <rewrite match="(.*).jsf" substitute="$1" inbound="false" outbound="true" /> 

</pretty-config> 

니어 실제로 두 개의 규칙이 필요하기 때문에 t이 복잡해진다, 그래서 당신은 또한뿐만 아니라 이것에 대한 http://ocpsoft.org/rewrite/를 사용할 수 있으며, 상황이 조금 더 간단하고 선언 될 것이다 :

ConfigurationBuilder.begin() 
    .addRule(Join.path("/{p}").to("/{p.jsf}").where("p").matches("(?!*.jsf).*")); 

전통적인 PrettyFaces 접근 방식은 URL을 매핑하는 것 config에서 url-mapping 선언을 사용하여 각 페이지에 연결하십시오.

<pretty-config xmlns="http://ocpsoft.com/prettyfaces/3.3.2" 
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
      xsi:schemaLocation="http://ocpsoft.com/prettyfaces/3.3.2 
            http://ocpsoft.com/xml/ns/prettyfaces/ocpsoft-pretty-faces-3.3.2.xsd"> 

    <url-mapping id="listUsers"> 
     <pattern value="/admin/listusers"/> 
     <view-id value="/admin/listusers.jsf" /> 
    </url-mapping> 


    <url-mapping id="login"> 
     <pattern value="/login"/> 
     <view-id value="/login.jsf" /> 
    </url-mapping> 

</pretty-config> 

이 정보가 도움이되기를 바랍니다.

3

PrettyFaces는 모든 재 작성 시나리오에서 매우 강력합니다.

확장 기능이없는 URL에만 관련된 경우 OmnniFaces는 흥미로운 대안입니다. 당신은 전혀 특별한 디렉토리에 페이지를 넣어없는 구성으로 확장이없는 URL이, 또는 web.xml에 조금 구성 할 수 있습니다 :

<context-param> 
    <param-name>org.omnifaces.FACES_VIEWS_SCAN_PATHS</param-name> 
    <param-value>/*.xhtml</param-value> 
</context-param> 

이 더 많은 정보를 위해 package documentation를 참조하십시오.