Struts2基础(Action类应用详解)
2016-03-04 17:48
549 查看
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>
注意:局部结果的配置优先级大于全局结果
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>
注意:局部结果的配置优先级大于全局结果
相关文章推荐
- web base
- JAVA笔试
- Java集合之HashMap
- 深入探索Java 8 Lambda表达式
- 1、初学java---类、对象、变量、方法、限制符
- 【JAVA】28、Java新特性——foreach输出
- Java设计模式--单例模式
- Eclipse 安装反编译插件jadclipse
- java.lang.Short.parseShort(String s)方法实例
- LintCode 直方图最大矩形覆盖
- 浅析Java虚拟机结构与机制[转]
- 给Java程序猿们推荐一些值得一看的好书
- 『java.util』 map接口
- MyEclipse的SVN更新错误:Attempted to lock an already-locked dir
- Spring mvc 返回json格式
- java double保留两位小数的多方法
- JAVA NIO:Path ,File
- 【集合框架】Java集合框架综述
- struts2学习笔记----action配置的各项默认值
- java自定义异常