十四、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. 【jQuery】关于选择器中的 :first 、 :first-child 、 :first-of-type

    [:first] <!DOCTYPE html><html lang="zh-CN"><head>    <title>test&l ...

  2. by which, in which, from which 语法区别

    (1)Here is Beijing,where I grow up.where其实也是指代北京,不过where是在北京的意思,也就是 in Beijing (2)Here is Beijing,in ...

  3. 查看mysql表结构的几种方法

    desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_schemaselect * fro ...

  4. Droid VNC Server

    这个app可以在Android开启VNC Server,让其他的VNC Client远程连接手机,不过前提是要ROOT.哎,可惜了. 当然还有另一款替代品Total Control http://ww ...

  5. Flex使用宋体渲染越南语显示错误

    本来应该显示Lưu nhóm,偏偏编译后显示Lưu nhòm.二声变成了四声,并且某些情况下,刚打开的窗口时二声的,然后变成了四声.初始以为是Flex的问题,分别使用S和mx包下的Label做实验,后 ...

  6. Machine Schedule(最小覆盖)

    其实也是个最小覆盖问题 关于最小覆盖http://blog.csdn.net/u014665013/article/details/49870029 Description As we all kno ...

  7. AdapterView的相关知识。

    AdapterView集成自ViewGroup,他的主要子类有AbsListView(Listview,GridView),AbsSpinner(Spinner,Gallery). AdapterVi ...

  8. XMLHttpRequest的五步使用方法

    <html> <head> <title>Demo</title> <style> body,input,button,select,h1{ ...

  9. 使用pscp实现Windows 和 Linux服务器间远程拷贝文件

    转自:http://www.linuxidc.com/Linux/2012-05/60966.htm 在工作中,每次部署应用时都需要从本机Windows服务器拷贝文件到Linux上,有时还将Linux ...

  10. [ CodeVS冲杯之路 ] P1197

    不充钱,你怎么AC? 题目:http://codevs.cn/problem/1197/ 密钥的字母可以全转换为小写字母,然后一一映射,a→0,b→1,c→2,依此类推 对于密文只需将每一位减去对应密 ...