2012-05-07 4 views
1

をすべてのJSFページ「の拡張子レス」を作る:PrettyFaces:私はそのコード(かなり-config.xmlの)内部で書きたい

<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 =>

/admin/listusers.jsfあなたはすべてをマッピングする場合を除き、あなたは、私は私の頭の上から考えることができますいくつかのオプションを持っているあなたにこのため

答えて

0

ありがとうございました伝統的な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> 

富栄あなたが実際に2つのルールを必要とするので、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を参照してください。

関連する問題