国际化例子
1. 针对不同的语言,写不同的MessageResources.properties文件
2. 在struts-config.xml加入 注意com为包名
3. 测试页面:index.jsp
中文版 英文版## 4. 相应的actionform package com.il8n;
import org.apache.struts.action.ActionForm;
public class il8nActionForm extends ActionForm {
private String il8n_info;
public String getIl8n_info() {
return il8n_info;
}
public void setIl8n_info(String il8n_info) {
this.il8n_info = il8n_info;
}
}
5. 相应的acrion:
package com.il8n;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.Globals;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.action.ActionMessage;
import org.apache.struts.action.ActionMessages;
public class il8nAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
il8nActionForm il8naf = (il8nActionForm)form;
ActionMessages messages = new ActionMessages();
Locale locale = null;
if(“zh”.equals(il8naf.getIl8n_info())){
locale = new Locale(“zh”,“CN”);
}else if(“en”.equals(il8naf.getIl8n_info())){
locale = new Locale(“en”,“Us”);
}
this.setLocale(request, locale);//将local对象放到session里也可以用下面的方法:
//request.getSession().setAttribute(Globals.LOCALE_KEY, locale);//英文struts是把local对象放在了session里面
return mapping.findForward(“success”);
}
}
6. struts-config.xml中的配置
然后在index.jsp中使用<been:message key=“version”/>来调用version的值显示不同的语言。(当然要引入相关的tag)
也就是当你选择中文版然后提交就会显示
你好,你选择了中文版
当你选择英文版的时候就会显示:
hello,you have choose the english version
作者:猪娃娃Lisa
来源:CSDN
原文:https://blog.csdn.net/sd8089730/article/details/10262009