Struts2

1、Action概述

这里写图片描述

2、Action中访问WEB资源

这里写图片描述
struts2

①ActionContext

struts2

struts2

②XXXAware接口

struts2

③ServletActionContext

struts2

④ServletXXXAware接口

struts2

3、关于struts2请求的扩展名问题

这里写图片描述

4、ActionSupport

struts2

5、result

struts2
struts2
struts2

6、关于值栈

这里写图片描述

7、利用s:propety标签和Ognl表达式读取值栈的属性值

这里写图片描述
这里写图片描述

8、Action实现ModelDriven接口后的运行流程

这里写图片描述这里写图片描述这里写图片描述

9、使用paramPrepareParamsStack拦截器后的运行流程

这里写图片描述
这里写图片描述

10、关于PrepareInterceptor

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

11、ValidationAware

从一个HTMl到一个Action对象,类型转化你是从字符串到非字符串。
首先,HTTP没有“类型” 的概念,每一项表单的输入值可能是从一个字符串或一个字符串数组,在server端,必须把String转换成特定的数据类型。

struts2中,把请求参数映射到action属性的工作由Parameters拦截器负责,它是默认的defaultStack拦截器中的一份子,Parameters拦截器可以自动完成字符串和基本数据类型之间的转换。
类型的转换错误

若Action类没有实现ValidationAware接口:struts在遇到类型转换错误时,仍然会调用Action方法,仿佛什么都没有发生。
若action类实现了ValidationAware接口: struts在遇到类型转换错误时将不会继续调用其Action方法;struts将检查相关action元素的声明是否包含一个name=input的result。如果有,struts将把控制权交给result元素;如果没有input结果,struts将抛出一个异常。
继承ActionSupport来间接实现ValidationAware接口

[java] view plain copy print?
public class ActionSupport implements Action, Validateable,     ValidationAware, TextProvider, LocaleProvider, Serializable  

下面看一个例子
此时还没有继承ActionSupport类
这里写图片描述
两个输入结果分别是
可以看到确实执行了Action方法;再看一下继承了ActionSupport的Action类
这里写图片描述
下面给Aciton配置一个result标签
这里写图片描述
再看一下执行结果
这里写图片描述
可以看到返回了一个错误提示;那么这个错误提示可以被覆盖吗?那就要用到ConversionError拦截器;其负责添加与类型转换错误有关的错误信息(前提,Action实现了ValidationAware接口),而且还能保存各请求参数的原始值。
这里写图片描述
覆盖默认的错误消息

在对应的Action类所在的保重新建ActionClassName.properties文件,ActionClassName为输入字段的Action类的类名
在属性文件中添加如下键值对:invalid.fieldvalue.fieldName=xxx
这里写图片描述
再看一下执行结果
这里写图片描述
若字段标签使用的不是Simple主题,责非法输入字段将导致不提示错误消息,那就需要手动去添加错误消息
使用s:debug查看栈顶属性
这里写图片描述
看到值栈里有fieldErrors属性里面存放了我们的错误信息,该属性为Map<ring,List<String>>类型,可以通过EL或者OGNL方式来显示错误信息.
这里写图片描述

12、自定义类型转换器

这里写图片描述

13、类型转换器与复杂属性&集合协同使用

这里写图片描述

14、国际化

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

15、Struts2运行流程分析

这里写图片描述

16、Struts2的验证

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

17、文件的上传与下载

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

18、表单的重复提交问题

这里写图片描述
这里写图片描述

19、自定义拦截器

这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值