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";
 }

你可能感兴趣的:(struts2)