ActionSupport类(提供了5个接口并包含了一组默认的实现):
Action接口:
可以直接1 return SUCCESS;2 return NONE;3 return ERROR;4 return INPUT;5 return LOGIN;
Validateable接口:提供validate()接口用于校验表单数据
ValidationAware接口:定义了一些方法用于对Action执行过程中产生的信息进行处理。
TextProvider接口:提供了一系列的getText()方法,用于获得对应的或计划信息资源。
LocaleProvider接口:提供了一个getLocale()方法,用于对国际化时,获得语言/地域信息。
Action类中访问Servlet API:
(1)通过ActoinContext
ActionContext ac=ActionContext.getContext();//获得ActionContext对象
Map session=ac.getSession();//获取session对象
Map application=ac.getApplication();//获取application对象
Map request=ac.get();//获得request对象
HttpServletRequest request=ServletActionContext.getRequest();获得HttpServletRequest对象
HttpServletResponse response=ServletActionContext.getResponse();//获得HttpServletResponse对象
HttpSession session=request.getSession();//获得HttpSession对象
actions属性:
name:对应请求的Action名称
class:知名处理类的具体路径
method:指定请求对应应用哪个方法
converter:指定Action使用的类型转换器
注意:如果没有指定method属性,则默认用execute方法;
Action中应用通配符:
<action name="*" class="org.action.LoginAction" method="{1}">
//其中的“{1}”就是取前面的“*”的值
</action>
使用默认类:
如果未指明class属性,则系统会自动引用<default-class-ref>标签中指定的类
<result>完整配置:
<result name="Action类对应返回值" type="跳转结果类型">
<param name="参数名">参数名</param>
</result>
chain:用来处理Action链
chart:用于整合JFreeChart的结果类型、
dispatcher:用于转向页面,通常处理JSP,该类型也是默认类型
freemaker:处理FreeMarker模板
httpheader:控制特殊http行为的结果类型
jasper:用于JasperReports整合的结果类型
jsf:JSF整合的结果类型
redirect:重定向到一个URL
redirect-action:重定向到一个Action
stream:向浏览器发送InputStream对象,通常用来处理文件下载,还可以用于返回AJAX数据
title:与Titles整合的结果类型
velocity:处理Velocity模板
xslt:处理XML/XSLT模板
plaintext:显示原始文件内容,例如文件源代码等
注意:redirect和redirect-action都可以完成重定向到另外的action,但是他们都不能实现数据的传递,在重定向过程中,请求属性等都会丢失。
全局结果:
如果在不同的action中都有用到,那么就可以用全局配置:
<global-result>
<result name="error">/error.jsp</result>
</global-result>
注意:局部结果的配置优先级大于全局结果