1、针对xxx.class,建立xxx.properties文件,可以对class中的Output设置本地化输出
2、更常用的方法是正对package,建立packageName.properties,在其中设置ActionClass.StringName=XXX。
创建action都是:……ApplicationAction extends ActionSupport{……},继承了ActionSupport类。ActionSupport中有method getText()可以通过key获得properties中的设置。
3、jsp文件使用properties文件中的设置,首先需要AppActionSupport extends ActionSupport类,在struts.xml中设置Action过滤,让jsp页面通过该Action(class="yourPackage.AppActionSupport")拦截。这样在jsp页面可以使用标签
国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web框架,它都是必须掌握的技能。
其实,Struts 1.x在此部分已经做得相当不错了。它极大地简化了我们程序员在做国际化时所需的工作,例如,如果您要输出一条国际化的信息,只需在代码包中加入FILE-NAME_xx_XX.properties(其中FILE-NAME为默认资源文件的文件名),然后在struts-config.xml中指明其路径,再在页面用标志输出即可。
不过,所谓“没有最好,只有更好”。Struts 2.0并没有在这部分止步,而是在原有的简单易用的基础上,将其做得更灵活、更强大。
国际化Hello World
下面让我们看一个例子——HelloWorld。这个例子演示如何根据用户浏览器的设置输出相应的HelloWorld。
- 在Eclipse创建工程配置开发和运行环境(如果对这个步骤有问题,可以参考我早前的文章《》)。
- 在src文件夹中加入struts.properties文件,内容如下:
struts.custom.i18n.resources=globalMessages
|
Struts 2.0有两个配置文件,struts.xml和struts.properties都是放在WEB-INF/classes/下。
- struts.xml用于应用程序相关的配置
- struts.properties用于Struts 2.0的运行时(Runtime)的配置
|
- 在src文件夹中加入globalMessages_en_US.properties文件,内容如下:
HelloWorld=Hello World!
- 在src文件夹中加入globalMessages_zh_CN.properties文件,内容如下:
HelloWorld=你好,世界!
|
在此想和大家分享一个不错的编写properties文件的Eclipse插件(plugin),有了它我们在编辑一些简体中文、繁体中文等Unicode文本时,就不必再使用native2ascii编码了。您可以通过Eclipse中的软件升级(Software Update)安装此插件,步骤如下:
1、展开Eclipse的Help菜单,将鼠标移到Software Update子项,在出现的子菜单中点击Find and Install; 2、在Install/Update对话框中选择Search for new features to install,点击Next; 3、在Install对话框中点击New Remote Site; 4、在New Update Site对话框的Name填入“PropEdit”或其它任意非空字符串,在URL中填入; 5、在Site to include to search列表中,除上一步加入的site外的其它选项去掉,点击Finsih; 6、在弹出的Updates对话框中的Select the features to install列表中将所有结尾为“3.1.x”的选项去掉(适用于Eclipse 3.2版本的朋友); 7、点击Finish关闭对话框; 8、在后,同意安装,再按提示重启Eclipse,在工具条看到形似vi的按钮表示安装成功,插件可用。此时,Eclpise中所有properties文件的文件名前有绿色的P的图标作为标识。 |
- 在WebContent文件夹下加入HelloWorl.jsp文件,内容如下:
<%@ page contentType="text/html; charset=UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Hello Worldtitle>
head>
<body>
<h2><s:text name="HelloWorld"/>h2>
<h2><s:property value="%{getText('HelloWorld')}"/>h2>
body>
html>
- 发布运行应用程序,在浏览器地址栏中输入 ,出现图1所示页面。
图1 中文输出
- 将浏览器的默认语言改为“英语(美国)”,刷新页面,出现图2所示页面。
[1]
【责编:Ken】
--------------------next---------------------
阅读(458) | 评论(0) | 转发(0) |