[Seasar-user:17374] Re: 【SAStruts】Struts1.2のLocaleActionを使うには?
Takeshi Motegi
[E-MAIL ADDRESS DELETED]
2009年 5月 3日 (日) 22:19:27 JST
ひが様
教えていただいた方法で、やりたいことができました!
ありがとうございました。
コードなにがしの
http://code.nanigac.com/source/wiki/view/597/38
の「2-8 国際的なアプリケーションを作ろう」に記事としてUPしていますが、
以下のような、StrutsのLocaleActionクラスを模したアクションクラスを作成
することで実現しました。
============================
package sample.action;
import java.util.Locale;
import org.apache.struts.Globals;
import javax.annotation.Resource;
import javax.servlet.http.HttpSession;
import org.seasar.struts.annotation.ActionForm;
import org.seasar.struts.annotation.Execute;
import org.seasar.struts.util.RequestUtil;
import sample.form.ChangeLocaleForm;
public class ChangeLocaleAction {
@ActionForm
@Resource
protected ChangeLocaleForm changeLocaleForm;
//登録画面の表示
@Execute(validator = false)
public String index() {
//ロケールオブジェクトを生成
Locale newLocale = new Locale(changeLocaleForm.language,
changeLocaleForm.country);
//セッションオブジェクトを取得
HttpSession session = RequestUtil.getRequest().getSession();
//現セッションのロケールを設定
session.setAttribute(Globals.LOCALE_KEY, newLocale);
//会員登録画面表示アクションメソッドを呼び出し
return "/member/";
}
}
============================
package sample.form;
import org.seasar.struts.annotation.Required;
public class ChangeLocaleForm {
//言語(ISO-639)
@Required
public String language;
//国(ISO-3166)
@Required
public String country;
}
Seasar-user メーリングリストの案内