[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 メーリングリストの案内