[Seasar-user:4910] Re: ログインしたユーザー名を取得

[E-MAIL ADDRESS DELETED] [E-MAIL ADDRESS DELETED]
2006年 10月 25日 (水) 13:46:10 JST


米林です。

From: "Hiroyuki Onagi" <[E-MAIL ADDRESS DELETED]>
Sent: Wednesday, October 25, 2006 1:27 PM


> 米林 こんにちは。
> Onagi です。
> アドバイスありがとうございます。
> 早速試してみました。
>
> 1.初期化 action クラスへ次の setter を追加してみました。
>
> public void setRequest(HttpServletRequest request) {
> this.request = request;
> }
>
> 2.初期化メソッドで次のとおり、 getRemoteUser() ユーザー名を
>     取得するコードを追加しました。
>
> public final String initialize() {
> String user = request.getRemoteUser();
> :
>
> 3.結果、this.request に HttpServletRequest がセットされていない為、
>     NullPointerException
>     が返りました。
>
> 4.HTML の action は、次の位置へ置いています。
>
>   <html xmlns:m="http://www.seasar.org/maya" m:extends="/WEB-INF/layout/
> base-mp3.html"
> m:action="#{topMenuInitImpl.initialize}">
>
>
> 5.dicon ファイルへ、次の設定を追加してみましたが、やはりうまくいきませ
> ん。
>
> <component class="javax.servlet.http.HttpServletRequest"/>
>
> HttpServletRequest が set 出来ていない状況ですが、
> プロパティ名指定方法など 間違っていますでしょうか?

5.は必要ないですね。
http://s2container.seasar.org/ja/DIContainer.html#Request
上記の通り、s2filterはweb.xmlに記述されていますでしょうか?

s2jsf-exampleのaddActionクラスに以下を追加して
試してみて下さい。
===========================================
private HttpServletRequest request;

public void setRequest(HttpServletRequest request) {
    System.out.println("request["+request+"]");
    this.request = request;
}
===========================================

よろしくお願いします。
---
米林 正明
[E-MAIL ADDRESS DELETED]




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