在struts中使用国际化(i18n)

在struts中使用国际化(i18n)    i18n可以满足对系统的国际化,它的原理就是将页面上的所有标志都放到一个消息资源文件中,不同的语言要提供不同的消息资源文件,当用户登录系统是,系统就是根据你登录的语言,选择不同的消息资源文件显示出来,这样你就可以看到不同的效果了。    一、配置文件的设置    其实i18n的使用还是比较简单的,首先你要在struts-config.xml配置文件中配置消息资源文件的路径,如下所示:--------------------------------------------------------------------------------------------------<?xml version="1.0" encoding="ISO-8859-1" ?><!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"><struts-config>    <!-- ========== Form Definitions =================================== -->    <form-beans>        <form-bean      name="HelloForm"                        type="hello.HelloForm"/>    </form-beans>          <!-- ========== Global Forward Definitions?============================== -->    <global-forwards>        <forward   name="aerror"                path="/public/jsp/ShowError.jsp"/>        <forward   name="success"              path="/public/jsp/ShowSuccess.jsp"/>    </global-forwards>        <!-- ========== Action Mapping Definitions ============================== -->    <action-mappings>        <action  path="/HelloWorld"        type="hello.HelloAction"        name="HelloForm"        scope="request">            <forward name="sayHello" path="/hello.jsp"/>        </action>    </action-mappings>         <!-- ========== Message Resources Definitions =========================== -->    <!--指定资源文件的路径-->    <message-resources parameter="hello.ApplicationResources"/>

</struts-config>-------------------------------------------------------------------------------------------    这个配置文件的配置项<message-resources>就是用来配置资源文件路径,在这里,路径被配置在系统classpath里面的hello/ApplicationResources.properties文件中。        二、资源文件    现在我们可以开始配置资源文件了,如下(ApplicationResources.properties文件):-------------------------------------------------------------------------------------------; Application Resources

hello.title = 你好,欢迎光临!-------------------------------------------------------------------------------------------    在这个配置文件中,只有一个注释(用逗号做标志),一个信息。对于中文来说,上面这个文件是没有办法辨认的,必须给这个文件转化编码才行。    在DOS命令行进入ApplicationResources.properties所在的文件夹使用命令:native2ascii -encoding gb2312 ApplicationResources.properties ApplicationResources_zh.properties    native2ascii是jdk的一个工具,放在jdk安装目录的bin目录下,如果出现“native2ascii不是内部命令”,那可能是你没有设置环境变量。

   三、jsp文件   下面是一个简单的jsp文件,里面使用了i18n,如下: -------------------------------------------------------------------------------------------<%@ page contentType="text/html;charset=gbk"%>

<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>

<html>    <body>        <td>            <bean:message key="hello.title"/>        </td>    </body></html>-------------------------------------------------------------------------------------------    其中,前面三句话是将标记库文件包含进文件中,这样在下面使用的标记还可以被辨认,如下面的<bean>标记。    下面这句话<bean:message key="hello.title"/>,就是将内容显示出来,这个内容是从文件ApplicationResources_zh.properties读取的,在这里,hello.title是“你好,欢迎光临!”,当然,这要你系统的编码的简体中文才行。

时间: 2024-11-03 18:35:36

在struts中使用国际化(i18n)的相关文章

Struts从零开始四、Struts中的国际化

一.概念 I18N作为"国际化"的简称,其来源是明文单词"internationlization"的首末字符"i"和"n"之间的字符数为18.随着全球经济的遗体化为一种主流的趋势,软件开发者应该开发出支持多国语言.国家化的web应用程序吧.也就是一个web应用程序在运行时能够根据客户端请求所来自的国家和语言的不同显示不同的用户界面.这样,当需要在应用程序中添加对一种新的语言的支持时,不需要对已有的软件返工,无需修改应用程序的程

自定义实现struts2中的国际化机制

最近一段时间,一直在研究struts2中的国际化实现方案. 对于struts2中标签的国际化中,key值的搜索顺序如下: 假设我们在某个ChildAction中调用了getText("user.title"),Struts 2.0的将会执行以下的操作: (1)优先加载系统中保存在ChildAction的类文件相同位置,且baseName为ChildAction的系列资源文件. (2)如果在(1)中找不到指定key对应的消息,且ChildAction有父类ParentAction,则加载

中英文支持-你的程序做到了吗?---不落伍的应用Struts 2 的国际化支持特性(7)

4.3  Struts 2的国际化支持 前面已经介绍了Java国际化的原理和方法,读者知道,Java的国际化需要一个Locale和一个资源包就能够实现国际化.资源包可以是资源文件也可以是资源类文件. Struts 2的国际化是建立在Java国际化的基础之上的,也是使用资源包的方式,通过getBundle()方法来寻找指定Locale相关联的资源包,再从资源包文件中查找指定Key所对应的国际化资源信息. Struts 2框架的底层国际化与Java国际化是一致的,作为一个良好的MVC框架,Strut

简化繁琐的赋值——反射在Jdbc和Struts中的应用

缘起在Jdbc应用中,我们经常需要有这么样的一个Javabean:当我们从数据库里取值时,我们希望把对应的值赋给Javabean,而后再操作Javabean进行各种业务处理:而我们保存数据的时候,也希望把经过业务处理后的值赋给Javabean,再由该Javabean与Jdbc交互,将数据保存在数据库里. 而在Struts应用中,我们经常要跟ActionForm或DynaActionForm打交道,例如从业面取得用户输入的数据,在Struts应用中,我们实际上是从ActionForm中取得数据:而

Struts中的Action类的工作机制

Struts中的Action类的工作机制  所有的Action类都是org.apache.struts.action.Action的子类.Action子类应该覆写父类的execute()方法.当ActionForm Bean被创建,并且表单验证顺利通过后,Struts框架就会调用Action类的execute()方法.execute()方法的定义如下:    public ActionForward execute(ActionMapping mapping                   

Struts中关于用户权限限定的建议

关于web系统的权限限定问题,可能有很多的办法,我在这里说一下自己的一些小技巧,起到抛砖引玉的作用,忘各位指正: 系统中一个角色包含多个用户,角色和用户之间最好采用一对多,以免发生混乱: 自系统初起的时候,系统只有一个超级用户(例如root),有两个默认角色,即游客角色和注册用户角色: 超级用户可以在后续管理中添加角色,默认角色不能删除,其他角色的删除中如果这个角色下有用户,可以采取不允许删除或删除后这些用户的角色自动转为注册用户角色: 每个角色用户访问系统某些功能模块的权利,某个角色是否可以访

在Struts中使用Validator验证框架详解

Validatro框架以成为Jakarta的公共项目的一部分,可以从http://jakarta.apache.org/commons/下载单独的Validator框架,在Struts中已经呆了这个框架. Validator主要依赖两个jar包 Jakarta-oro.jar:-提供一组处理文本的类,具有文本替换.过滤.和分割功能. Commons-validator.jar:提供了一个简单.可扩展的验证框架,包含了通用的验证方法和验证规则. 在用Struts中用这个框架,需加入这两个包,用起来

效果-struts中如何将迭代list的数据实现每行显示固定数目的数据?

问题描述 struts中如何将迭代list的数据实现每行显示固定数目的数据? 1C 1. 求问,struts中如何将迭代list的数据实现每行显示固定数目的数据?我是根据迭代的下标来做的,没有实现效果.(每行显示3条数据)代码如下:

Struts中JSP到Action过程中数组的投射

Jsp <div>     <input type="hidden" name="stulst.name" value="xy"/>     <input type="hidden" name="stulst.name" value="xy1"/>     <input type="hidden" name="stu