OpenJWeb快速开发平台使用struts2实现多语切换的方法

页面中设置多语言连接:

<a href="<%=request.getContextPath()%>/comm/lang!changeLang.action?lang=zh-CN"> <font color="#FF0000">中文</font> </a>
&nbsp;&nbsp;&nbsp;<a href="<%=request.getContextPath()%>/comm/lang!changeLang.action?lang=en-US" ><font color="#00FF00">English</font></a>
&nbsp;&nbsp;&nbsp;<a href="<%=request.getContextPath()%>/comm/lang!changeLang.action?lang=ja-JP""><font color="#0000FF">日本語</font></a>
&nbsp;&nbsp;&nbsp;<a href="<%=request.getContextPath()%>/comm/lang!changeLang.action?lang=ko-KR""><font color="#FFFF00">한국어</font></a>

在action中根据传入的参数设置session实现多语切换:

public String changeLang()
{
if(this.lang!=null)
{
logger.info(this.getLang());
}
else
logger.info("语言种类为空!");
//String sLocale=request.getSession().getAttribute("org.apache.struts.action.LOCALE").toString();
//
if(lang==null||lang.trim().length()==0)
request.getSession().setAttribute("WW_TRANS_I18N_LOCALE",java.util.Locale.CHINA); //默认设置为中文
if(lang.equals("zh-CN"))request.getSession().setAttribute("WW_TRANS_I18N_LOCALE",java.util.Locale.CHINA);
if(lang.equals("en-US"))request.getSession().setAttribute("WW_TRANS_I18N_LOCALE",java.util.Locale.US);
if(lang.equals("ko-KR"))request.getSession().setAttribute("WW_TRANS_I18N_LOCALE",java.util.Locale.KOREA);
if(lang.equals("ja-JP"))request.getSession().setAttribute("WW_TRANS_I18N_LOCALE",java.util.Locale.JAPAN);




//logger.info(request.getSession().getAttribute("WW_TRANS_I18N_LOCALE").toString() );
//logger.info(request.getSession().getAttribute("WW_TRANS_I18N_LOCALE").getClass().getName());
//logger.info("---"+sLocale+"---------");
//if(this.getLang()!=null&&this.getLang().equals(""))
//{

//}

return "lang";
}

你可能感兴趣的:(java,apache,struts)