struts(il8n)实现国际化的一个例子
来源:互联网 发布:期货自动交易软件 编辑:程序博客网 时间:2024/05/21 14:45
struts国际化问题的一个小例子:(根据下拉列表的选择显示不同语言的网站)
1,首先针对不同的语言,写不同的MessageResources.properties文件,比如说简体中文是
MessageResources_zh_CN.properties,英文就是MessageResources_en_US.properties,然后对这些配置信
息文件同样用native2ascii工具处理一次(打开cmd输入native2ascii然后把要显示的中文输入回车就ok了),把非ASCII码统统转为Unicode编码。 放在classes文件夹下你指定的地方,这里是放在/web-inf/classes/com/下,
我写的两个文件是;1,MessageResources_en_US.properties:内容如下:
version=hello,you have choose the english version
MessageResources_zh_CN.properties内容如下:
version=/u4f60/u597d,/u4f60/u5df2/u7ecf/u9009/u62e9/u4e86/u4e2d/u6587/u7248/u672c
(要注意的是:文件名中的zh和en代表语言的不能写错,而CN和US代表国家可以不写)
2,在struts-config.xml加入 <message-resources parameter="com.MessageResources" />注意com为包名。
3,测试页面:index.jsp
<form name="form1" method="post" action="chooselocal.do">
<select name="il8n_info">
<option value="zh">中文版</option>
<option value="en">英文版</option>
</select>
<input type="submit" value="submit"><p>
</form>
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中的配置:
<form-beans>
<form-bean name="il8nActionForm" type="com.il8n.il8nActionForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/chooselocal"
type="com.il8n.il8nAction"
name="il8nActionForm"
scope="request"
>
<forward name="success" path="/index.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="com.MessageResources" />然后在index.jsp中使用<been:message key="version"/>来调用version的值显示不同的语言。(当然要引入相关的tag)
也就是当你选择中文版然后提交就会显示
你好,你选择了中文版
当你选择英文版的时候就会显示:
hello,you have choose the english version
- struts(il8n)实现国际化的一个例子
- 力所能及之struts国际化il8n
- Struts 国际化的一个完整例子(转)
- struts国际化的实现
- struts 的国际化实现
- Struts做的一个国际化
- Struts中国际化的简单例子
- 一个简单的Struts例子
- 一个简单的Struts例子
- 一个struts+spring的例子
- Struts入门的一个例子
- 一个简单的 Struts 例子
- struts——国际化的实现
- struts之国际化的实现操作
- 一个Struts实现分页,增删改查,Tiles,国际化的DEMO
- struts+jstl实现国际化
- struts如何实现国际化
- Struts 实现国际化
- SQL server锁的机制
- SAP Smart forms中文字体重叠的解决方法
- [转]ibatis 分页
- 定期自动补充 (PAR) 盘点概览
- [双语阅读]美国:中年白人女性自杀率增长显著
- struts(il8n)实现国际化的一个例子
- ORACLE ORA-00600 [17059][]错误的排除
- js高级程序设计
- 程序log日志 c#
- JAVA的国际化机制(一 介绍)
- js数字转换
- 乱码的解码方法
- SAP中本地文件的upload和download的方
- [英语阅读]Education: A New Start 教育:新开始