一、struts.valueStack的使用
当Action设置了某个属性后,Struts2将这些属性值全部封装在一个叫做struts.valueStack的请求属性里。在页面可以输出ValueStack vs = (ValueStack)request.getAttribute("struts.valueStack");
String[] books = (String[])vs.findValue("books"); books是action里的属性
for (String book:books){
out.println(book);
}
不过这种方法基本不会去用。
二、国际化注意点及native2ascii使用:
(一)、国际化资源文件命名的格式为:basename_语言代码_国家代码.properties
例如:美国 messageResource_en_US.properties
中国 messageResource_zh_CN.properties
(二)、加载资源文件可以通过struts.properties文件来定义
例如:struts.custom.i18n.resources = messageResource
(三)、输出国际化信息:
1.<s:text name="messageKey" /> 使用s:text标签来输出国际化信息。
2.<s:property value="%{getText("messageKey")" /> 使用表达式方式输出国际化信息。
(四)、native2acsii:
如果国际化资源文件包含了非西欧字符,则应先转换你成标准的ASCII格式,可以利用native2ascii来转化:
native2ascii messageResouce.properties messgeResouce_zh_CN.properties
输入文件名为:messageResource.properties
输出文件名为:messageResouce_zh_CN.properties
具体用法:
用法:native2ascii [-reverse] [-encoding 编码] [输入文件 [输出文件]]
-[options]:表示命令开关,有两个选项可供选择
-reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
-encoding encoding_name:转换为指定编码,encoding_name为编码名称。
[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台
三、数据校验
利用struts2的数据校验或者拦截器,一定要在action中配置<result name="input" />,当有错误的时候系统会自动返回,如果要在返回后的页面中输出错误信息,则需要在该页面中添加<s:fielderror />,但错误信息有时候很难看懂,故可以配置国际化,有些key是固定的,详细的看文档。
(一)、通过重写ActionSupport类的validate方法实现。
1.一般都会继承ActionSupport,因为他里面有return的值。
2.validate方法会在execute方法之前执行,如果执行了validae方法,Action类的fieldErrors中已经包含了数据校验错误,请求将被转发到input逻辑视图处。故应该要配置返回为input属性。
3.因为struts2的<s:form.../>默认已经提供了输出校验错误的能力,故错误信息会直接在input的页面输出。
(二)、使用struts2的校验框架
1.增加一个校验配置文件,通过使用struts2已有的校验器进行校验。
2.遵守如下规则:ActionName-validation.xml其中ActionName就是需要校验的Action的类名。并且把该文件和Action类的class文件放在同一个路径下。
3.校验规则的定义文件如下:
<?xml version="1.0" encoding="GBK"?>
<!-- 指定校验规则文件的DTD信息 -->
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.3//EN" "http://www.opensymphony.com/xwork/xwork-validator-1.0.3.dtd">
<!-- 校验规则定义文件的根元素 -->
<validators>
<!-- 校验第一个表单域:username -->
<field name="username">
<!-- 该表单域必须填写 -->
<field-validator type="requiredstring">
<!-- 如果校验失败,显示user.required对应的信息 -->
<message key="user.required"/>
</field-validator>
</field>
<!-- 校验第二个表单域:password -->
<field name="password">
<field-validator type="requiredstring">
<!-- 如果校验失败,显示pass.required对应的信息 -->
<message key="pass.required"/>
</field-validator>
</field>
</validators>
发表评论
-
struts2学习笔记-文件上传和下载
2014-02-27 17:14 0可以下载源代码直接看 ... -
struts2学习笔记-拦截器的使用及监听器
2014-02-27 17:13 0一、拦截器是怎么实现: 实际上它是用Java中的动态代理来 ... -
Struts2类型转换(一)----常规类型,自定义类型,错误处理
2014-02-27 17:11 0Struts2的类型转换是基 ... -
struts2学习笔记-servlet在web中的配置详解
2014-02-27 17:09 0Web.xml代码 <?xml ... -
struts2学习笔记-有关struts异常的部分内容
2014-02-27 17:08 0一、声明式异常捕捉:struts2的异常处理机制是通过在 ... -
struts2学习笔记-模型驱动和属性驱动
2014-02-27 17:08 01.属性驱动 属性驱动是指用Action的属性来封装来回 ... -
struts2学习笔记-Result详解
2014-02-27 17:08 0Result结果集代码 chain ... -
struts2学习笔记-默认Action及跳转注意
2014-02-27 17:07 0对于使用Struts2框架的应用而言,尽量不要让超链接直接链 ... -
struts2学习笔记-Action的通配符使用-映射关系3
2014-02-27 17:07 0来看一个例子,例如有一个CrudAction, 其中有两个方 ... -
struts2学习笔记-Action的method属性的使用-映射关系2
2014-02-27 16:55 0Action的method属性配置主要用于将Action类 ... -
struts2学习笔记-动态方法的调用-映射关系1
2014-02-27 16:54 345Struts1框架提供了DispatchAction,从而允许 ... -
struts2学习笔记-struts2的配置文件
2014-02-27 16:54 335一、struts.xml定义Bean的作用: 1.创 ... -
struts2必要的包
2014-02-27 16:53 254想正常使用struts2.1.6, ...
相关推荐
### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...
根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...
### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...
本篇学习笔记将引导我们从零开始,通过一个简单的"HelloWorld"项目,了解Struts2的基础知识。 首先,我们需要在本地环境中搭建Struts2的开发环境。这包括安装JDK、配置Java环境变量、下载Apache Struts2的最新版本...
### Struts2学习笔记2012 #### 一、建立一个Struts2工程 **步骤详解:** 1. **创建Web项目:** - 在MyEclipse中选择“File” > “New” > “Dynamic Web Project”,创建一个新的Web项目。 2. **解压并配置...
### Struts2框架学习笔记整理 #### 一、Struts2框架概述 ##### 1.1 Struts2框架定义 Struts2是一个基于MVC(Model-View-Controller)架构模式的开源Java web应用框架,它能够帮助开发者构建可扩展且易于维护的...
### Struts2.1学习笔记 #### Struts2的来源与优点 - **来源**:Struts2是在WebWork2的基础上发展起来的,它继承了WebWork2的优点,并且进行了改进,使其更适合现代Web应用程序的需求。与Struts1相比,Struts2的...
### 传智播客Struts2全程学习笔记 #### Struts2的优点 1. **无侵入式设计**:与Struts1相比,Struts2的设计更为先进,它不依赖于Servlet API或Struts API,这使得Struts2更加灵活且易于集成到其他环境中。在代码...
01 Struts2-Action 5 一、 Struts作用: 5 二、 搭建Struts2的运行环境: 5 三、 Namespace 6 四、 标签 6 五、 Action 6 六、 路径问题的说明 8 七、 Action的动态调用方法 8 八、 Action通配符(wildcard)的配置 9 ...
在探讨Struts2的学习心得之前,我们先来分析一下Struts2与Struts1之间的区别。 ##### 1.1 架构设计 - **Struts1**:采用MVC(Model-View-Controller)架构模式,其中控制器是由`ActionServlet`来实现的,该控制器...
Struts2 学习笔记-part2: 实现用户登录功能 在上一部分中,我们了解了构建一个基于Struts2的Java Web项目所需的基本库和配置文件。现在,我们将逐步实现一个简单的用户登录功能。 一、创建Action类 在Struts2框架...