[Seasar-user:11225] Re: [Teeda] http -> httpsへの画面遷移について

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 10月 23日 (火) 21:30:06 JST


小林 (koichik) です.

Date:    Tue, 23 Oct 2007 15:30:22 +0900
From:    山下 真里 <[E-MAIL ADDRESS DELETED]>
To:       [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:11212] [Teeda] http -> httpsへの画面遷移について

> 決済時にSSLを必要とするサイトを作成しております。
> 画面遷移で、http:からhttps:などへの遷移する際に、
> どのようにしてしてよいか、分りません。

今のところ,スマートに実現する方法はないと
思います.

少々手間はかかりますが,RedirectUrlResolver の
実装クラスを作成することで実現はできます.

まずは Page クラスの do〜() メソッドで

public class XxxPage {
  private Map requestScope;
  // setter

  public Class doXxx() {
    ...
    requestScope.put("HTTPS", Boolean.TRUE);
    ...
  }
}

のようにリクエストの属性に https にすることを
設定しておいて,

org.seasar.teeda.core.util.RedirectUrlResolver の
実装クラスで

  public String resolveUrl(String contextPath,
      FacesContext context, HttpServletRequest request,
      HttpServletResponse response) throws FacesException {
    ...
    Boolean https = (Boolean) request.getAttribute("HTTPS");
    if (https == Boolean.TRUE) {
      // https:〜 な URL を作成
    }
  }

のようにしてください.
RedirectUrlResolver#resolveUrl() でやることの詳細は
Teeda のデフォルトの実装クラス (添付) を参考に
してください.

RedirectUrlResolver の実装クラスを有効にするには
teedaCustomize.dicon ファイルにコンポーネントとして
登録してください.


この機能は要望がありそうなので,Teeda で標準で
サポートしていきたいと思います.
すぐにはできないと思うので,とりあえずは上述の
方法で独自対応してください.


--
<signature>
   <name>Koichi Kobayashi</name>
   <e-mail>[E-MAIL ADDRESS DELETED]</e-mail>
</signature>
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: DefaultRedirectUrlResolverImpl.java
型:         application/octet-stream
サイズ:     1823 バイト
説明:       無し
URL:        http://ml.seasar.org/archives/seasar-user/attachments/20071023/62af564f/attachment.obj 


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