十四、Struts2的国际化

1、配置全局国际化消息资源包

  1. 配置全局消息资源包

    <!--配置全局消息资源包 -->

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

     

    b、如何访问

  • 在动作类中:

前提,动作类继承ActionSupport

public
class
Demo1Action
extends ActionSupport{

    @Override

    public String execute() throws Exception {

        // 在动作类中获取消息包中的信息

        String str = getText("hello");

        System.out.println(str);

        return
NONE;

    }

}

 

  • 在页面中:

<!-- 从消息包中取不到对应的key值,自己直接上了 -->

    <s:textfield
name="username"
key="hello"></s:textfield>

 

或者

<s:text
name="hello"></s:text>

 

  • 自由指定消息资源包,借助struts2的有关国际化的标签:

<!-- 自由指定消息资源包:name 的值为资源包在类路径中的路径 -->

    <s:i18n
name="msg">

        <s:text
name="hello"></s:text>

    </s:i18n>

 

如果消息资源包在com.itheima.resources.msg_zh_CN.properties

<s:i18n
name="com/itheima/resources/msg">

        <s:text
name="hello"></s:text>

    </s:i18n>

 

  1. 配置局部消息资源包

    一定要经过Action才行:

    书写规范:在动作类所在包中,建立名字"动作类名-zh-CN.properties"的配置文件。动作类中访问,发现局部的比全局的优先级高。

    /*

    * 关于局部消息资源包内容的访问:

    * 1.必须经过Action才行

    * 2.Action继承了ActionSupport

    * 才会从局部消息资源包中取数据。

    *

    * 如果这样来访问:(原理:ValueStack和OGNL有关)

    * 1.直接访问jsp,没有经过动作类。从全局取

    * 2.如果Action没有基础ActionSupport。从全局中取

    */

    public
    class
    Demo1Action
    extends ActionSupport{

        @Override

        public String execute() throws Exception {

            return
    SUCCESS;

        }

    }

     

    3、包范围的消息资源包

    也得经过action访问

    书写有规范的,名称为package_zh_CN.properties,放在类的包中。可以被包中及子包的所有动作类来访问。

     

     

    总结:

     

十四、Struts2的国际化的更多相关文章

  1. (十四)struts2的国际化

    一.国际化的概念 国际化是指web程序在运行时,根据客户端请求的国家.语言的不同而显示不同的界面. 例如,如果请求来自中文客户端,则页面的显示,提示信息等都是中文,如果是英文客户端,则显示英文信息.  ...

  2. 二十四、Struts2中的UI标签

    二十四.Struts2中的UI标签 Struts2中UI标签的优势: 数据回显 页面布局和排版(Freemark),struts2提供了一些常用的排版(主题:xhtml默认 simple ajax) ...

  3. struts2官方 中文教程 系列十四:主题Theme

    介绍 当您使用一个Struts 2标签时,例如 <s:select ..../>  在您的web页面中,Struts 2框架会生成HTML,它会显示外观并控制select控件的布局.样式和 ...

  4. struts2使用拦截器完成登陆显示用户信息操作和Struts2的国际化

    其实学习框架,就是为了可以很好的很快的完成我们的需求,而学习struts2只是为了替代之前用的servlet这一层,框架使开发更加简单,所以作为一个小菜鸟,特别感谢那些超级无敌变态开发的框架供我们使用 ...

  5. 浅谈struts2的国际化----i18n

    可能大家在使用struts框架的时候,偶尔会看到这个词: i18n.也就是 Internationalization    i 开头,n 结尾. 总共18个字母,今天的主要内容就是环绕这 四个字母. ...

  6. Solon Web 开发,十四、与Spring、Jsr330的常用注解对比

    Solon Web 开发 一.开始 二.开发知识准备 三.打包与运行 四.请求上下文 五.数据访问.事务与缓存应用 六.过滤器.处理.拦截器 七.视图模板与Mvc注解 八.校验.及定制与扩展 九.跨域 ...

  7. 我的MYSQL学习心得(十四) 备份和恢复

    我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...

  8. 雅虎(yahoo)前端优化十四条军规

    第一条.尽可能的减少 HTTP 的请求数 (Make Fewer HTTP Requests ) http请求是要开销的,想办法减少请求数自然可以提高网页速度.常用的方法,合并css,js(将一个页面 ...

  9. Bootstrap<基础二十四> 缩略图

    Bootstrap 缩略图.大多数站点都需要在网格中布局图像.视频.文本等.Bootstrap 通过缩略图为此提供了一种简便的方式.使用 Bootstrap 创建缩略图的步骤如下: 在图像周围添加带有 ...

随机推荐

  1. jmeter测试某个QPS下的响应时间-设置QPS限制

    本次性能测试的需求中提到测试的目的是“了解博客的首页在负载达到20 QPS时的响应时间”,因此需要控制向博客首页发送请求的负载为20QPS. 一种可行的方法是逐步调整测试计划中的线程计算的数量以及为取 ...

  2. WebView用法

    在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件. 什么是webkit WebKit是Mac OS X v10.3及以上版本所包含的软件框架(对 ...

  3. 和为S的两个数字VS和为s的连续正数序列

    题目:输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s.如果有多对数字的和等于s,输出任意一对即可. 例如输入数组1.2.4.7.11.15和数字15.由于4+11=15, ...

  4. 强大的JS数组

    1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...

  5. 查看maven项目的依赖关系 mvn dependency:tree

    maven-dependency-plugin最大的用途是帮助分析项目依赖,dependency:list能够列出项目最终解析到的依赖列表,dependency:tree能进一步的描绘项目依赖树,de ...

  6. 开一个帖子,等有时间了写写如何用shapelib创建点线面等shp图层

    开一个帖子,等有时间了写写如何用shapelib创建点线面等shp图层  C#操作shapelib的实例 http://files.cnblogs.com/yuxuetaoxp/Shapelib--D ...

  7. nyoj 106 背包问题

    点击打开链接 背包问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v ...

  8. BC之Run

    Problem Description AFA is a girl who like runing.Today,he download an app about runing .The app can ...

  9. SpringMVC 注解事务

    <bean id="txManager" class="org.springframework.orm.hibernate3.HibernateTransactio ...

  10. android点击状态分析

    android:addStatesFromChildren="true" :父类从子类中获取点击状态. android:duplicateParentState="tru ...