码迷,mamicode.com
首页 > 其他好文 > 详细

Struts2 国际化

时间:2016-11-13 17:04:10      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:配置   java项目   分享   英文   images   目录   动态   xtend   ttext   

一、简介

国际化(i18n)是规划和实施的产品和服务,使他们能很容易地适应特定的本地语言和文化的过程中,这个过程被称为本地化。国际化的过程有时也被称为翻译或本地化启用。国际化是缩写i18n,因为我和两端用n字打头,并有18个字符之间的第i个和最后n。

二、eclipse搭建Struts

 1.新建一个“动态java项目”

技术分享

2.将Struts2所需要的jar包导入到工程目录“webcontent—>web-inf”下的“lib”文件夹,系统会自用的添加到构建目录。

技术分享

3.配置web.xml文件

    <!-- strut2的配置 -->
    <filter>
        <filter-name>struts2</filter-name>
        <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>struts2</filter-name>
          <!-- 这里使用/* -->
        <url-pattern>/*</url-pattern>
    </filter-mapping>

4.新建包和类用于测试。

技术分享

public class UserAction {

    public String login() {
        
        return "success";
    }
}

5.新建xml文件,取名为Struts.xml,并配置package

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
    <package name="USER" extends="struts-default" namespace="/">
        <action name="login" class="com.hgd.action.UserAction" method="login">
            <result name="success">/main.jsp</result>
        </action>
    </package>

</struts>    

6.新建index.jsp和main.jsp,在index.jsp中添加一个测试标签。

<a href="login.action">login</a>

7.tomcat跑一下,看看测试结果,点击login标签能够跳转到main.jsp表面Struts2的配置正确,可以开始下一步。

三、国际化

1.在src目录下添加两个资源文件,命名方式很重要的。格式:baseName_language_country.properties。比如,实现中英文切换我们要添加 resource_zh_CN.properties 和 resource_en_US.properties。然后将各个key-value对添加到这两个文件中,key字段一定要统一。

技术分享

技术分享

技术分享

2.配置Struts.xml,在Struts.xml的Struts节点下添加以下代码

<!-- 告诉程序国际化资源文件是在i18n包下的resource开头的文件 --> 

<constant name="struts.custom.i18n.resources" value="i18n/resource"></constant>

3.在jsp中使用

在jsp页面头部添加

    <%@ taglib prefix="s"  uri="/struts-tags"%>

页面中书写

<s:property value="getText(‘username‘)"/>:<input type="text">
<br>
<s:property value="getText(‘pwd‘)"/>:<input type="text">
<br>

或者

<s:textfield name="username" key="username"></s:textfield>
<br>
<s:textfield name="pwd" key="pwd"></s:textfield>

4.我们这里使用ie浏览器测试,当我们打开首页,会使用浏览器默认的语言显示。

技术分享

5.打开Internet选项,选择默认语言,选择英文-->上移,点击确定。

技术分享

技术分享

 

 6.刷新浏览器,发现变成英文

技术分享

三、中英文切换

 1.插入如下代码,url中的这个参数 request_locale会被 i18n 拦截器读取,然后根据这个值设置语言环境。 i18n 拦截器是struts中default里面自带的拦截器。

<a href="i18n.action?request_locale=zh_CN">中文</a><br>
<a href="i18n.action?request_locale=en_US">英文</a><br>

2.配置Struts.xml,在login的action下面添加一个action。

</action>
<action name="i18n">
<result>/index.jsp</result>
</action>

3.运行tomcat,现在可以实现中英文的切换。

 

Struts2 国际化

标签:配置   java项目   分享   英文   images   目录   动态   xtend   ttext   

原文地址:http://www.cnblogs.com/huguodong/p/6054600.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!