2

そのコード(pretty-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」にマップするだけです。

/admin/listusers => /admin/listusers.jsf

ありがとうございました

4

2 に答える 2

4

PrettyFaces は、あらゆる種類の書き換えシナリオに対して非常に強力です。

拡張子のない URL のみに関係する場合、OmnniFaces は興味深い代替手段です。ページを特別なディレクトリに配置するか、web.xml に少し構成を加えることで、構成をまったく行わずに拡張​​子のない URL を作成できます。

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

詳細については、パッケージのドキュメントを参照してください。

于 2013-03-14T17:19:22.307 に答える
1

このために、従来の 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 つのルールが必要なため、これは複雑になります。そのため、これにもhttp://ocpsoft.org/rewrite/を使用できます。物事は少し単純で宣言的になります。

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

従来の PrettyFaces のアプローチでは、config で url-mapping 宣言を使用して URL を各ページにマップします。

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

これが役立つことを願っています。

于 2012-05-08T06:03:02.517 に答える