いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

Tapestry奮闘記-0021 (リダイレクトフィルターの設定)

Tapestryでは、通常,

/app

サーブレットをマッピングしますが、そのままだと、

http://xxxxx/xxx/

とappをつけずにアクセスした際に、エラーになっていまいます。
なので、上記のURLでアクセスされた際にもちゃんと最初のページが
表示されるようにリダイレクト設定を行います。

Tapestryには、

org.apache.tapestry.RedirectFilter

という名のフィルターが用意されていますのでそれを利用します。
web.xmlに以下の設定を追加します。

    <!--
        Tapestryのリダイレクトフィルターを設定

        これを設定することにより、ブラウザからhttp//xxxx/xxx/という
        パスを設定された際に、http://xxxx/xxx/appにリダイレクトするようになる。

    -->
    <filter>
        <filter-name>redirect</filter-name>
        <filter-class>org.apache.tapestry.RedirectFilter</filter-class>
    </filter>

    <filter-mapping>
        <filter-name>redirect</filter-name>
        <url-pattern>/</url-pattern>
    </filter-mapping>

これで、http://xxxx/xxx/でアクセスされてもページが表示されるようになります。
(単にリダイレクトされるだけです)


参考になるドキュメントは、以下です。
http://tapestry.apache.org/tapestry4.1/UsersGuide/configuration.html#configuration.deployment-descriptor


次は、Friendly URLsについて設定してみます。