2013-08-29 10 views
10

Login.xhtmlHome.xhtmlがあります。私はFacesServletをカスタマイズする<url-pattern>拡張子を削除するには

<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>/faces/*</url-pattern> 
</servlet-mapping> 

<welcome-file-list> 
    <welcome-file>Login.xhtml</welcome-file> 
</welcome-file-list> 

を次のようにweb.xmlでURLパターンを設定し、私はプロジェクト全体、ログインページURLこのhttp://localhost:8080/fran/Login.xhtmlようなものです実行すると、ここにfran私のプロジェクト名..です

しかし、私はそれをしたいと思いますhttp://localhost:8080/fran/Login.xhtmlの代わりにhttp://localhost:8080/fran/Login/になるようにしてください。

どうすればこの問題を解決できますか?すべてのページの<url-pattern>をカスタマイズして、.xhtml拡張子を削除することはできますか?


BalusCはコメントで後述するように

を解決... OmniFaces FacesViewsは素晴らしいです。ここに私がしたステップがあります:

  • /WEB-INF/libフォルダには、omnifaces-1.5.jarがあります。
  • web.xmlにコードの下に追加します。設定でこれだけです

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

を。完璧に機能しています。

+3

http://ocpsoft.org/prettyfaces/を見て、* 2を見てください。メインページにpretty-config.xml *の例を作成してください。 – Daniel

+0

@Daniel ..ya http://ocpsoft.org/prettyfacesは良い選択です。 'pretty faces'では' Pretty filter'を ' web.xml' – kark

+0

[OmniFaces FacesViews](http://showcase.omnifaces.org/facesviews/ExtensionlessURLs)は、 '.xhtml'拡張子を取り除くゼロ設定の方法を提供しています。これは他のhttps://showcase.omnifaces.orgやhttps://zeef.comなどで使用されています。 – BalusC

答えて

12

を見てみましょう理由は.xhtmlの内線を取り除いてからOmniFaces FacesViewsを見ることです。これは、ビューファイルを/WEB-INF/faces-views/フォルダに配置することで、これを実現するゼロ設定の方法を提供します。そうでなければ、あなたのプロジェクトの構造を変更し、いつもの場所であなたのビューファイルを保存しておきたいと、まだ拡張子のURLの恩恵ではないするつもりならば、それは次のコンテキスト・パラメータを追加するだけです:場合

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

ますOmniFacesを使用するのではなく、独自のものを使いたいと思っているだけで、OmniFacesのソースコードを見てください。 Apache 2.0ライセンスのもとで公開されています。

+0

ありがとう、「オムニフェイス」は使いやすいです。 – kark

3

prettyfaces: Pretty URLs for JavaServer Facesを見てみましょう、2で

ルックメインページ

にかなり-config.xmlの例を作成し、唯一の場合はChapter 2. Get Started

+0

ya ..そうです。私の質問は、web.xmlにPrettyフィルタを設定する必要があるのですか?ステップ2(あなたが述べたように)は 'pretty-config.xml'設定のみです。 – kark

+0

自分で使ったことがありません... – Daniel

+0

私は全面的なものを使用していました。とても面白いものです。 – kark

関連する問題