国际化信息机制  (三种 Action范围、 Package范围、 全局)

1. 全局国际化配置信息文件

全局国际化文件,对所有Action 生效,任何程序都可以访问到,需要在struts.xml 配置常量 struts.custom.i18n.resources指定信息文件

页面product.jsp

<span style="color: red"><s:fielderror/></span>
<form action="${pageContext.request.contextPath }/product_add.action" method="post">
商品名:<input type="text" name="name"/><br/>
价格:<input type="password" name="price"/><br/>
<input type="submit" value="登录"/>
</form>

编写ProductAction

public class ProductAction extends ActionSupport {
private static final long serialVersionUID = 1L;
private String name;
private double price;
public String add(){
System.out.println(name+"---------"+price);
return SUCCESS;
/* get(),set()方法略去................. */ }
}

添加校验信息:(对Action的方法进行校验 ProductAction-product_add-validation.xml)

ProductAction-product_add-validation.xml其中product_add是Struts.xml中action标签中的name的值

<!DOCTYPE validators PUBLIC
"-//Apache Struts//XWork Validator 1.0.3//EN"
"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">
<validators>
<!-- 校验商品 -->
<field name="name">
<field-validator type="requiredstring">
<message key="wc"/>
</field-validator>
</field>
</validators>

新建国际化信息文件  src下 messages.properties (默认的国际化文件)

注意:

1. 其中<message key="wc"/>中的Key必须是messages.properties  的Key值

2.messages.properties  的value值必须装换成Unicode码, 使用myeclipse开发工具,内置properties editor 自动将中文转换 Unicode码

2.  Action范围国际化文件

在Action类 所在包 创建 Action类名.properties (无需在struts.xml 配置 )

3.   package范围国际化文件

在package下面 建立 package.properties (无需在struts.xml )

4.   在JSP页面获取

在国际化 messages.properties 添加一个信息

JSP页面代码:

<h1><s:i18n name="messages">
<s:text name="cn.wc"></s:text>
</s:i18n></h1>

5.    在Action代码获取

在messages.properties 添加国际化信息

Action转发的页面JSP

 <s:text name="welcome">
<s:param>lxp</s:param>
</s:text>

Action代码:

public class Product2Action extends ActionSupport {
private static final long serialVersionUID = 1L;
public String add(){
System.out.println(this.getText("welcome",new String[]{"Action"}));
return SUCCESS; }
}

Struts2国际化信息机制的更多相关文章

  1. 【转】Struts2国际化

    原文章:http://www.cnblogs.com/hellokitty1/p/5083663.html 简单理解     国际化简称i18n,其来源是英文单词 internationalizati ...

  2. struts2的工作机制

    struts2的工作机制 原文:http://eoasis.iteye.com/blog/642586 概述 本章讲述Struts2的工作原理. 读者如果曾经学习过Struts1.x或者有过Strut ...

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

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

  4. 国际化信息-->MVC

    假设我们正在开发一个支持多国语言的Web应用程序,要求系统能够根据客户端的系统的语言类型返回对应的界面:英文的操作系统返回英文界面,而中文的操作系统则返回中文界面——这便是典型的i18n国际化问题.对 ...

  5. 【Struts2学习笔记(12)】Struts2国际化

    (1)准备资源文件,资源文件的命名格式例如以下: baseName_language_country.properties baseName_language.properties baseName. ...

  6. Struts2国际化-getText()方法

    转自https://blog.csdn.net/qq_43560838/article/details/83747604 一:简单理解 国际化简称i18n,其来源是英文单词 international ...

  7. [JavaWeb基础] 016.Struts2 国际化配置

    如果一个软件想要让其受众是全球或者是几个国家的人,那么这个软件就需要支持多种语言,那么我们就需要软件的国际化去对一些文字信息进行国际化处理.web也一样,当外国人打开我们的网站,要是看到满屏幕的中文, ...

  8. struts2国际化

    struts2国际化 1:什么是国际化? 国际化(internationalization)是设计和制造容易适应不同区域要求的产品的一种方式.它要求从产品中抽离所有的与语言,国家/地区和文化相关的元素 ...

  9. (spring-第14回【IoC基础篇】)国际化信息

    国际化又称为本地化. 当你把手机的language由中文切换到英文时,你的微信也相应改用英语,这就是i18n国际化.一般来说,应用软件提供一套不同语言的资源文件,放到特定目录中,应用根据不同语言的操作 ...

随机推荐

  1. nginx源码分析——线程池

    源码: nginx 1.13.0-release   一.前言      nginx是采用多进程模型,master和worker之间主要通过pipe管道的方式进行通信,多进程的优势就在于各个进程互不影 ...

  2. Spring Mvc 用Demo去学习

    1:首先大体知道 SpringMVC 框架的 运行原理(图片来自网络 ) 2:SpringMVC 是依照DispatcherServlet 展开的 这里可以约Structs2对比,structs2 是 ...

  3. linux tcp中time_wait

    http://www.cnblogs.com/my_life/articles/3460873.html http://blog.csdn.net/sunnydogzhou/article/detai ...

  4. Js之浅谈dom操作

    JavaScript之浅谈dom操作 1.理解dom: DOM(Document Object Model ,文档对象模型)一种独立于语言,用于操作xml,html文档的应用编程接口. 怎么说,我从两 ...

  5. 深入理解Java常用类-----时间日期

    除了String这个类在日常的项目中比较常用之外,有关时间和日期的操作也是经常遇到的,本篇就讲详细介绍下Java API中对时间和日期的支持.其实在Java 8之前时间日期的API并不是很好用,以至于 ...

  6. 从零开始的JS生活(一)——JS简介、变量及基本结构

    本K在经过三个静态站制作的狂风暴雨之后,终于开始了JavaScript的学习.作为一只从来没有正儿八经接受过计算机语言的小白,居然能够跟上浩哥的课程进度,我的内心都被我的才智震惊到了,果然本K是天生丽 ...

  7. css如何让div和页面等高?

    我们都知道,只要是block状态的标签,宽度和父级等宽,或者设置宽度100%也可以等宽,但设置高度100%是不管用的,那么如何让标签和页面等高呢,除了用js去动态计算设置高度值,用css也可以 只要将 ...

  8. jquery点击非div区域隐藏div

    点击非div区域隐藏div,如图,点击圆的头像(.person-msg)弹出白色底框(.person-centre).点击圆头像以外的区域隐藏白色底框

  9. Ajax请求,跨域小坑

    今天在上班的时候,被坐在旁边项目经理叫过去问了一个Ajax请求跨域的问题,一开始没理解清楚也还有对这个没有理解的透,后面被打击的要死. 当时的需求是需要测试一个已发布的api接口,需要在本地写测试程序 ...

  10. 原生和jQuery的ajax用法

    jQuery的ajax方法: $.ajax({ url:'/comm/test1.php', type:'POST', //GET async:true, //或false,是否异步 data:{ n ...