十四、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. JavaScript笔记之数组 keyword(存储和释放&堆栈 & 按值 引用)

    1.数组创建及初始化 var obj=new Array(); var arr=[]; 可以延伸为长度一定的,字面量定义数组 2.堆栈 按值传递 引用类型 数组是引用类型,不是值传递, 栈:系桶自动分 ...

  2. git 常用命令 (git did not exit cleanly)

    Git常用操作命令收集: git clonegit git remote -v git remote add [name] [url] git remote rm [name] git remote ...

  3. Coding 初级教程(二)——上传已有项目

    Coding 初级教程(二)——上传已有项目 [摘要:方针读者 :已具有 Coding.net 的账号. 本文首要先容若何把项目上传到 Coding.net 上. 分两种环境,一种是项目已归入到 gi ...

  4. 30天轻松学习javaweb_模拟tomcat

    运行 javac Server.java 编译java文件 执行 java Server 运行程序 在ie中输入 http://localhost:9999/ 打开模拟的服务程序 import jav ...

  5. iOS 数字字符串的直接运算 + - * /

    NSDecimalNumber *d1 = [NSDecimalNumber decimalNumberWithString:@"3.14"]; NSDecimalNumber * ...

  6. select into from 和 insert into select 的用法和区别

    select into from 和 insert into select都是用来复制表,两者的主要区别为: select into from 要求目标表不存在,因为在插入时会自动创建.insert ...

  7. DFS

    HDU1181  http://acm.hdu.edu.cn/showproblem.php?pid=1181 #include<stdio.h> #include<algorith ...

  8. 天气预报API简单实现

    本人小白,觉得好玩,就注册了一个博客.一时也不知道写些什么,就把昨天做的一个简单的网页天气预报写一下吧,希望对各位看官有所帮助. 运行环境:php+mysql+WIN/Linux,框架什么的都无所谓了 ...

  9. DragonBone在FlashDevelop编译

    http://dragonbones.github.io/ dragonbones是一个强大的骨骼动画编辑器,基于Starling,用AS3语言编写,可以导出骨骼动画数据供其他程序使用. 下面来讲一下 ...

  10. java 中byte[] 数组的合并

    因工作的需要,在从事 .Net 的开发中接触到了 Java, 虽然在大学的时候学过一段Java 编程,但并没有在实际的工作中使用过, Java 和 .Net的C#语法很相似,都是面向对象的,感觉在语法 ...