[Seasar-user:10174] Re: [S2Struts]Interceptor にセッションのオブジェクトがDIされない
Yasuo Higa
[E-MAIL ADDRESS DELETED]
2007年 8月 29日 (水) 17:15:43 JST
ひがです。
> いつもお世話になります。吉田@オプティクスです。
>
> 07/08/29 に Koichi Kobayashi<[E-MAIL ADDRESS DELETED]> さんは書きました:
> > Interceptor や Customizer の設定には問題が
> > なさそうに見えます.
> > LoginInfo を「セッションに格納している」の部分は
> > どうなっているでしょうか?
>
> ログイン処理をおこなったActionでExportToSessionアノテーションを使用していま
す。
> 以下のような感じです。
>
Seasar2.4を使う場合は、ExportToSessionアノテーションを使うのは
やめて、コンポーネントに@Component(instance=InstanceType.SESSION)
を指定します。
LoginInfoはLoginInfoDtoのように名前に変えてください。
LoginInfoDtoを自分でnewする必要はありません。
Seasar2が勝手にDIします。
よろしくお願いします。
> public class LoginSubmitActionImpl implements LoginSubmitAction {
>
> private LoginService service;
>
> private LoginDto loginDto;
>
> private LoginInfo loginInfo = new LoginInfo();
>
> public String process() {
>
> loginInfo = service.confirm(loginDto);
>
> if(loginInfo != null) {
> return SUCCESS;
> } else {
> MessageManager.addGlobalError("errors.login.fail");
> MessageManager.saveErrors();
> return FAIL;
> }
>
> }
>
> public LoginDto getLoginDto() {
> return loginDto;
> }
>
> @ExportToSession
> public LoginInfo getLoginInfo() {
> return loginInfo;
> }
>
> public void setLoginDto(LoginDto loginDto) {
> this.loginDto = loginDto;
> }
>
> public void setService(LoginService service) {
> this.service = service;
> }
> }
>
> InterceptorにはDIされませんが、他のActionなどでは正常にDIされています。
>
> 以上、宜しくお願いいたします。
>
> |--------||--------||--------||--------||--------||--------|
> 有限会社オプティクス
> 700-0971
> 岡山県岡山市野田3-1-18 安田ビル5F
> TEL:086-246-9321
> FAX:086-246-5117
> http://www.optics-net.com
> mail:[E-MAIL ADDRESS DELETED]
> gmail:[E-MAIL ADDRESS DELETED]
> |--------||--------||--------||--------||--------||--------|
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user
>
--
Yasuo Higa
[E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内