zoukankan      html  css  js  c++  java
  • 十四、Struts2的国际化

    十四、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

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

      *

      * 如果这样来访问:(原理:ValueStackOGNL有关)

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

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

      */

      public class Demo1Action extends ActionSupport{

          @Override

          public String execute() throws Exception {

              return SUCCESS;

          }

      }

       

      3、包范围的消息资源包

      也得经过action访问

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

       

       

      总结:

       

  • 相关阅读:
    Novell 被收购
    NetBeans IDE 7.0 Beta 发布
    关于去除PE文件中函数修饰的做法
    甲骨文宣布将于明年 7 月 28 日推 JDK 7
    PE文件格式的一些研究
    如何开发 Web 应用程序
    Novell 被收购
    如何开发 Web 应用程序
    分享:DFC开发平台的设计理念
    分享:FireBreath 1.7.0 RC1 发布
  • 原文地址:https://www.cnblogs.com/Prozhu/p/5886452.html
Copyright © 2011-2022 走看看