拦截器的配置
拦截器允许你在action的执行前后插入代码执行. Struts 2 中的拦截器是个强有力的
工具,它可以为action动加输λ验证(验证用户的输入是否正确〕、对象组装、权限控制〈确保由问者是量最用户〉、曰志记录等功能,而不需要修改action .
要为action配置引用的拦截嚣, 首先需要在interceptors元素中使用。
配置Action
Struts 2 的核心功能是ACTION 实现接口中的execute()方法,并不要求所有action类都实现Action接口
action类很少时间action接口,一般都选择从ActionSupport继承
Action映射
Action映射是框架的基本“工作单位”。Action映射就是将一个请求URI(即Action的名字)映射到一个Action类,当请求匹配某个Action的 名字时,框架就使用这个映射来确定如何处理请求。struts.xml文件中的每一个Action元素就是一个action映射。
Action的name属性是必须的,其他的属性都是可选的。
method方法
在配置Action时,我们可以通过Action元素的method属性来指定action调用的方法。所指定的方法必须遵循与execute方法相同的格式。
动态方法调用
另外一种无须配置就可以直接调用Action中的非execute方法的方式,就是使用Struts2的动态方法调用。
动态方法调用在Action的名字中使用感叹号的标识要调用的方法名。
模拟ForwardAction
默认的Action
通配符映射
通配符样式可以包含一个或多个如下所示的特殊记号:
1)*
匹配0个或多个字符,斜杠(/)字符除外。
2)**
匹配0个或多个字符,包括斜杠(/)字符。
3)\
反斜杠被用作转义序列,因此\*匹配星号(*)字符,\\匹配反斜杠(\)字符。
配置Result
一个result代表了一个可能的输出。当Action方法执行完成时,他返回一个字符串类型的结果码,框架根据这个结果码选择对应的result,向用户输出。
result配置由两个部分组成:一部分是result映射 ,另一部分是result类型
结果映射 result=name type
结果类型
chain
dispatcher
freemarker
httpheader
redirect
redirectAction
stream
velocity
xslt
plainText
常用结果类型
dispatcher结果类型
redirect结果类型
redirectAction结果类型 有两个参数:actionName(default) namespace
plainText结果类型 有两个参数:location charSet
全局结果
前面我们所配置的结果映射都是在Action元素的内部,这些结果只能被他外部的Action所使用,这样的结果可以看成是局部结果。
在global-results元素中嵌套。
异常处理
要使用Struts2的声明式异常处理,就需要配置ExceptionMappingInterceptor拦截器。