[Seasar-user:14049] Re: [teeda] ApacheとTomcatでパスを変えたとき

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2008年 5月 1日 (木) 19:00:07 JST


小林 (koichik) です.

Date:    Thu, 1 May 2008 18:06:42 +0900
From:    "Mitsutaka Sato" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:14046] Re: [teeda] ApacheとTomcatでパスを変えたとき

> =======================
> teedaCustomize.diconにRedirectUrlResolver
> の実装クラスを定義することで,リダイレクトURLをカスタマイズすることが出来ます.RedirectUrlResolver
> の実装クラスを定義するdiconファイルは,teedaExtension.diconよりも先にインクルードされるdiconファイルに定義してください.
> =======================
> 
> この部分の意味がわかりませんでした。
> RedirectUrlResolverの実装クラスをどのように定義したらよいのか、
> 例を教えていただけませんでしょうか?

Teeda 標準の ExtensionRedirectUrlResolverImpl と
そのスーパークラス DefaultRedirectUrlResolverImpl が
その例です.

http://svn.seasar.org/browse/trunk/teeda/teeda-extension/src/main/java/org/seasar/teeda/extension/util/ExtensionRedirectUrlResolverImpl.java?root=teeda&view=markup
http://svn.seasar.org/browse/trunk/teeda/teeda-core/src/main/java/org/seasar/teeda/core/util/DefaultRedirectUrlResolverImpl.java?root=teeda&view=markup

public String resolveUrl(final String contextPath,
            final FacesContext context, final HttpServletRequest request,
            final HttpServletResponse response)

メソッドの contextPath には,/hoge/view/aaa/aaa.html
のようなコンテキストルートを含むリダイレクト先の URL が
渡されます.

ExtensionRedirectUrlResolverImpl のサブクラスを
作成して resolveUrl() をオーバーライドし,
contextPath のコンテキストルートを適切に
置き換えるようにすればよいかと思います.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>



Seasar-user メーリングリストの案内