Struts 国际化编码和Jstl国际化
2008-12-10 11:26
239 查看
Struts 国际化编码和Jstl国际化
ApplicationResources_en.properties 英文
test=international application test {0}
ApplicationResources_zh.properties 中文
test=/u56fd/u9645/u5316/u7a0b/u5e8f/u6d4b/u8bd5 {0}
路径对应好 文件名不用改变
<message-resources parameter="com.struts.ApplicationResources" />
test.jsp:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html>
<head>
<html:base />
</head>
<body>
<f:setLocale value="zh"/> //手动设置语言版本
<f:setBundle basename="com.struts.ApplicationResources"></f:setBundle>
<f:message key="test">
<f:param value="good"/>
</f:message>
//以上是Jstl的邦定
//-------------------------------------------
//以下是Stuts的邦定
<bean:message key="test" arg0="好" />
</body>
</html:html>
转:
Struts国际化处理二
对于使用者来说,一个支持国际化的WEB程序具有下面几种形式
1. 根据用户浏览器自动设置显示的语言(无需用户干预)
2. 提供用户选择,用户根据自己的需要决定使用何种语言显示
3. 结合前两种.系统自动选择一种语言,但同时提供用户根据需要选择
使用Struts开发国际化程序是一件非常便利的事情,我们来看前两种怎么来实现
1. 这是最简单的方式,你不需要修改任何程序,只需要把资源文件按照各个语言翻译一遍并把这些文件
按照国际化程序的要求命名好放置同一个目录即可. 例如 ApplicationResource_en_US.properties
ApplicationResource_zh_TW.properties . 这种方式虽然自动的给用户设置好要显示的语言,但是有时
候由于浏览器本身的问题,或者用户自己想看其他语种的时候就没有办法.
2. 这是比较常见的方式,由用户自己来选择所要显示的语言. 一般的情况是在首页或者登录页上增加语
言的选项,用户选中其中一种登录后即以用户选择的语言进行显示,但是用户登录后必须把用户所选择的
语言保存起来并让程序也就是<bean:message这些标签可以使用所选择的语言加载配置信息,因此在用户
登录执行的Action类中加入如下代码
Locale locale = new Locale(request.getParameter("locale"));
//TODO:判断locale的有效性,无效的话不存入到sesssion中
req.getSession().setAttribute(Globals.LOCALE_KEY,locale);
好了,现在<bean:message/>这个标签库现在就可以根据你保存在session中的Locale对象来决定加载的
是哪种语言, 通过看<bean:message/>标签库的源码我们就可以一目了然知道该标签库在加载资源前先
从session或者该Locale对象,如果为空则使用request.getLocale()这个值来加载对应语言的资源,因此
这种做法实际上是实现了前面提到的第三种形式. 接下来就是翻译资源文件,有如第一步讲到的.
Struts框架在实现国际化应用程序的时候还是替我们想的很周到,因此你所需要做的就是翻译.
最后切记两点:
1. 页面的字符集必须是UTF-8,例如:
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
2. 另外页面的所有的提示信息都应该在资源文件中定义
ApplicationResources_en.properties 英文
test=international application test {0}
ApplicationResources_zh.properties 中文
test=/u56fd/u9645/u5316/u7a0b/u5e8f/u6d4b/u8bd5 {0}
路径对应好 文件名不用改变
<message-resources parameter="com.struts.ApplicationResources" />
test.jsp:
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="f"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html>
<head>
<html:base />
</head>
<body>
<f:setLocale value="zh"/> //手动设置语言版本
<f:setBundle basename="com.struts.ApplicationResources"></f:setBundle>
<f:message key="test">
<f:param value="good"/>
</f:message>
//以上是Jstl的邦定
//-------------------------------------------
//以下是Stuts的邦定
<bean:message key="test" arg0="好" />
</body>
</html:html>
转:
Struts国际化处理二
对于使用者来说,一个支持国际化的WEB程序具有下面几种形式
1. 根据用户浏览器自动设置显示的语言(无需用户干预)
2. 提供用户选择,用户根据自己的需要决定使用何种语言显示
3. 结合前两种.系统自动选择一种语言,但同时提供用户根据需要选择
使用Struts开发国际化程序是一件非常便利的事情,我们来看前两种怎么来实现
1. 这是最简单的方式,你不需要修改任何程序,只需要把资源文件按照各个语言翻译一遍并把这些文件
按照国际化程序的要求命名好放置同一个目录即可. 例如 ApplicationResource_en_US.properties
ApplicationResource_zh_TW.properties . 这种方式虽然自动的给用户设置好要显示的语言,但是有时
候由于浏览器本身的问题,或者用户自己想看其他语种的时候就没有办法.
2. 这是比较常见的方式,由用户自己来选择所要显示的语言. 一般的情况是在首页或者登录页上增加语
言的选项,用户选中其中一种登录后即以用户选择的语言进行显示,但是用户登录后必须把用户所选择的
语言保存起来并让程序也就是<bean:message这些标签可以使用所选择的语言加载配置信息,因此在用户
登录执行的Action类中加入如下代码
Locale locale = new Locale(request.getParameter("locale"));
//TODO:判断locale的有效性,无效的话不存入到sesssion中
req.getSession().setAttribute(Globals.LOCALE_KEY,locale);
好了,现在<bean:message/>这个标签库现在就可以根据你保存在session中的Locale对象来决定加载的
是哪种语言, 通过看<bean:message/>标签库的源码我们就可以一目了然知道该标签库在加载资源前先
从session或者该Locale对象,如果为空则使用request.getLocale()这个值来加载对应语言的资源,因此
这种做法实际上是实现了前面提到的第三种形式. 接下来就是翻译资源文件,有如第一步讲到的.
Struts框架在实现国际化应用程序的时候还是替我们想的很周到,因此你所需要做的就是翻译.
最后切记两点:
1. 页面的字符集必须是UTF-8,例如:
<%@ page language="java" contentType="text/html;charset=UTF-8" %>
2. 另外页面的所有的提示信息都应该在资源文件中定义
相关文章推荐
- 解决 Struts 国际化资源的中文编码问题
- struts 国际化 中文编码问题
- Struts国际化中文编码问题
- Struts的properties国际化文件的编码问题及解决方案
- Struts编码国际化
- struts国际化问题解决方案
- struts国际化
- struts中文问题","struts国际化问题"——终极解决方案
- Struts国际化资源文件中文转码
- 自定义JSP标签实现语言国际化(类似struts text标签),并同时支持图片、JS文件国际化
- Struts消息国际化及异常处理
- struts 国际化传参问题
- struts中文编码解决
- struts2.X心得11--struts2中的国际化
- struts spring jdbc 编码格式从utf-8转化为gbk
- java servlet,action,struts,struts2输出流中文编码问题
- struts中国际化,中文转成ascii的命令使用方法
- struts的国际化
- struts中的error简单用法及国际化转换的方法
- Struts第八篇【资源国际化、对比JSP的资源国际化】