- 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. 另外页面的所有的提示信息都应该在资源文件中定义
Struts 国际化编码和Jstl国际化
最新推荐文章于 2021-07-30 08:47:43 发布