国际化配置文件分为:

全局资源文件

包范围资源文件

Action类的资源文件

一、全局资源文件:

1、放到WEB-INF/classes目录下。

资源文件的命名规则:  文件名前缀.语言种类.properties

例如:

中文:

resource_zh_CN.properties

内容:

username=用户名

password=密码

英文:

resource_en_US.properties

内容:

username=username_en

password=password_en

2、在 struts.xml 中:

                 <struts><constant name="struts.custom.i18n.resources" value="itcast"></constant><package name="validate" namespace="/validate" extends="struts-default"><action name="i18nAction" class="cn.google.action.I18nAction"><result name="success">/success.jsp</result></action></package></struts>

3、在 I18nAction.java 中:

                 public class I18nAction extends ActionSupport implements Serializable {public String execute(){//取出资源文件中的welcome的值String value = getText("username");//封装到请求范围中ActionContext.getContext().put("message", value);return SUCCESS;}}

4、在 i18n.jsp 中:

                 <body><s:text name="welcome"></s:text></body>

---------------------------------------------------------------------------------------

国际化——输出带占位符的国际化信息

1、资源文件中的内容如下: resource_zh_CN.properties:
                    welcome={0},欢迎来到中国{1}

2、利用页面传递参数:在 i18n.jsp 中

                 <body><s:text name="welcome"><s:param>克林顿</s:param><s:param>学习</s:param></s:text></body>

3、结果

访问:localhost:8080/项目名/i18n.jsp,结果:welcome=克林顿,欢迎来到中国学习。

4、或者,通过Action类传递参数:在 I18nAction 中:

                 public class I18nAction extends ActionSupport implements Serializable {public String execute(){//取出资源文件中的welcome的值String value = getText("welcome", new  String[]("雷锋","学习"));//封装到请求范围中ActionContext.getContext().put("message", value);return SUCCESS;}}

5、结果

访问:localhost:8080/项目名/i18n.jsp,结果:welcome=雷锋,欢迎来到中国学习。

---------------------------------------------------------------------------------------

二、包范围资源文件

包范围资源文件:服务于Java类中的包下的动作类的。
        取名规则:package_语言_国家.properties

示例:
                在 src 中建立 package_CN.properties:
                    welcome={0},欢迎来到北京{1},package

在 src 中建立 package_US.properties:
                    welcome=Welcome to Beijing,package

访问:localhost:8080/项目名/validate/i18nAction        //结果显示从包范文中取值。

*搜索顺序:
                包 > 全局
---------------------------------------------------------------------------------------

三、Action 范围资源文件

动作类的资源文件:放到与动作类相同的包中
                取名:动作类名_语言_国家.properties

示例:
                    在 I18nAction 同包中建立 I18nAction_zh_CN.properties:
                        welcome={0},欢迎来到北京{1}, action

在 src 中建立 package_US.properties:
                        welcome=Welcome to Beijing, action

访问:localhost:8080/项目名/validate/i18n.jsp    //结果显示从全局范围中取值。
                    访问:localhost:8080/项目名/validate/i18nAction        //结果显示从包范围中取值。
---------------------------------------------------------------------------------------

如果同时配置三个范围的国际化,struts2 提供个 i18n 标签来便捷的访问对应资源:

示例:在 i18n1.jsp 中:

             <body><s:i18n name="resource"><s:text name="welcome"><s:param>yr</s:param><s:param>study</s:param></s:text></s:i18n><s:i18n name="cn/demo/action/package"><s:text name="welcome"><s:param>wxy</s:param><s:param>find boy friend</s:param></s:text></s:i18n></body>

访问:localhost:8080/项目名/validate/i18n.jsp    看结果

Struts2 国际化相关推荐

  1. Struts2国际化

    一:简单理解 国际化简称i18n,其来源是英文单词 internationalization的首末字符i 和n.18为中间的字符数. 随着全球经济的一体化,软件开发者应该开发出支持多国语言.国际化的W ...

  2. struts2 国际化

    概述 Struts2 国际化是建立在 Java 国际化基础上的: - 为不同国家/语言提供对应的消息资源文件 - Struts2 框架会根据请求中包含的 Locale 加载对应的资源文件 - 通过程序 ...

  3. struts2系列(四):struts2国际化的多种方式

    一.struts2国际化原理 根据不同的Locale读取不同的文本. 例如有两个资源文件: 第一个:message_zh_CN.properties 第二个:message_en_US.propert ...

  4. Struts2-16.Struts2国际化

    16.1什么是国际化.本地化 国际化: 国际化(Internationalization,i18n)是程序在不做任何修改的情况下,就可以根据当地的语言和格式习惯显示字符. 本地化: 一个国际化程序,当 ...

  5. Struts2国际化标签 i18n

    配置xml文件: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLI ...

  6. java struts2国际化代码下载_【Java框架】java struts2框架中页面表示国际化的方法 - 思诚科技...

    在struts2框架中,前端页面表示国际化的实现更加简单.简单的应用struts2框架提供的支持国际化的表达式即可快速方便的进行页面的国际化的实现.如何做呢?本文以英文和中文为例进行说明. 1,自定义 ...

  7. struts2 国际化资源文件自定义的路径解决方法

    struts2 的版本2.3.4 <!-- 配置国际化资源路径 --> <constant name="struts.custom.i18n.resources" ...

  8. Struts2国际化——完整实例代码

    一.介绍 国际化Internationalization的首末字符I和N之间字符数是18,简称I18N "国际化"是指一个应用程序在运行时,能够根据客户端请求所来自国家或地区语言的 ...

  9. struts2 国际化 cookie保存语言, 下次访问时显示当前设置的语言

    最近在看struts2的国际化, i18n拦截器代码很简单, 具体是根据访问参数和session方式来控制语言, 其实每次都更改语言还是很麻烦的, 特别做了一个Cookie保存当前语言设置, 仅仅一个 ...

最新文章

  1. python处理多个excel文件-python多个excel文件合并成一个sheet
  2. 白话SpringCloud | 第八章:分布式配置中心的服务化及动态刷新
  3. 解决Linux下音乐乱码的问题:
  4. linux:将job放在后台执行的方法
  5. 前端请求接口post_前端如何优雅地模拟接口请求?(给你的代码加点小意外)
  6. 从人脸识别到内容审核,百度硬核AI技术推荐!
  7. Python Day29 网络协议
  8. 【Notification】屏蔽特定应用的通知提示
  9. 拷贝一个用户下的所有表和数据到另外一个库
  10. 软件工程 超市库存管理系统 UML模型
  11. 解决Ubuntu下博通网卡驱动问题
  12. 增长黑客理论(AARRR)模型
  13. linux系统it固定资产管理系统包_固定资产管理系统功能介绍
  14. GIDC全球互联网数据大会:政企应用如何构筑安全合规的互联内容分发加速?
  15. TEASLA M40安装问题记录
  16. TCP粘包是什么?如何处理?UDP有粘包吗?
  17. Android Studio连接手机设备教程(完全步骤)
  18. 网络安全实验室CTF—脚本关 writeup
  19. V 神“继任者”排行榜第三,她一年在 Github 上为以太坊做出 1781 个贡献
  20. docker安装_使用docker在带有SSL的Nginx反向代理后面部署Quarkus或任何基于Java的微服务...

热门文章

  1. 有关多重集合的排列和组合问题
  2. spring4报错Caused by: java.lang.NoClassDefFoundError: org/springframework/dao/DataAccessException
  3. 实验五 数据库完整性
  4. 南卡和明基护眼灯哪个比较好,两款旗舰级护眼台灯对比测评
  5. 卸载npm和安装npm_使用`npm uninstall`卸载npm软件包
  6. 标注的尺寸避让lisp_Revit二次开发——标记/标注自动避让思路分享
  7. iptables匹配connlimit限制并发连接数量
  8. iqooneo系统升级好不好_IQOONeo系统测评 全新FuntouchOS9十分好用
  9. 高考考试可以拿计算机吗,高考“电脑阅卷”过程曝光,考生若能提前了解,考试少丢冤枉分...
  10. 单内存16g和双8g差别大吗_内存选单根16G还是两根8G?单/双通道内存对游戏帧数的影响实测...