struts2学习之---实现Action
来源:互联网 发布:热血屠龙翅膀进阶数据 编辑:程序博客网 时间:2024/06/11 16:13
Action是应用的核心,Action类里包含了对用户请求的处理逻辑,Action类也被称为业务控制器。
struts2通常直接使用Action类来封装HTTP请求参数,因此,Action类里还应该包含于请求参数对应的实例变量,并且为这些实例变量提供对应的setter和getter方法。execute()方法是处理用户请求的逻辑控制方法。
Action类里不仅可以封装请求参数,还可用于封装处理结果。如果希望服务器提示的”登录成功”等在下一个页面输出,那么可以在Action类中增加一个tip实例变量。提供对应的setter和getter方法。一旦设置了tip实例变量的值就可以输出该实例变量的值:<s:property value="tip"/>
ActionSupport类是Struts2默认的Action处理类,如果让开发者的Action类继承该ActionSupport类,则会大大简化Action的开发。
1.Action访问Servlet API
struts2提供了一个ActionContext类,Action可通过该类访问Servlet API。
- Object get(Object key):该方法类似于调用HttpServletRequest的getAttribute(String name)方法。
- Map getApplication():返回一个Map对象,该对象模拟了该应用的ServletContext实例。
- static ActionContext getContext():静态方法,获取系统的ActionContext实例。
- Map getParameters():获取所有的请求参数。类似于调用HttpServletRequest对象的getParameterMap()方法。
- Map getSession():返回一个Map对象,该Map对象模拟了HttpSession实例。
- void setApplication(Map application):直接传入一个Map实例,将该Map实例里的key-value对象转换成application的属性名和属性值。
- void setSession(Map session)::直接传入一个Map实例,将该Map实例里的key-value对象转换成session的属性名和属性值。
2.Action直接访问Servlet API
为了让Action直接访问Servlet API ,struts2提供了如下几个接口:
- ServletContextAware:实现该接口的Action可以直接访问Web应用的ServletContext实例。
- ServletRequestAware:实现该接口的Action可以直接访问用户请求的HttpServletRequest实例。
- ServletResponseAware:实现该接口的Action可以直接访问服务器响应的HttpServletResponse实例。
public class LoginAction implements ServletResponseAware{ private HttpServletResponse response; public void setServletResponse(HttpServletResponse response){ this.response = response; }}
3.使用ServletActionContext访问Servlet API
为了直接访问Servlet API ,struts2还提供了一个ServletActionContext工具类,这个类包含如下几个静态方法:
- static PageContext getPageContext():取得Web应用的PageContext对象。
- static HttpServletRequest getRequest():取得Web应用的HttpServletRequest对象。
- static HttpServletResponse getResponse():取得Web应用的HttpServletResponse对象。
- static HttpServletRequest getServletContext():取得Web应用的ServletContext对象。
阅读全文
0 0
- struts2学习之---实现Action
- Struts2学习之Action
- 实现Action---struts2学习笔记
- Struts2学习笔记之action
- struts2学习之---配置Action
- struts2学习之Action的数据
- Struts2框架学习之二:action详解
- Struts2学习笔记(1)之Action
- SSH学习之Struts2中的Action
- 7.10--SSH学习之Struts2 Action配置
- 《研磨struts2》第四章 Action 之 4.2 Action的实现
- Struts2-----5、Struts2实现Action
- 【struts2】Action的实现
- struts2-实现Action
- struts2 Action学习
- Struts2学习 Action
- Struts2 Action学习
- Struts2之Action相关
- 超好用的memcache管理及可视化监控工具,真方便!
- 设计模式之责任链的学习思考
- ios 获取当前或指定的cell
- MyEclipse10 的open in explorer无反应或者出错的解决办法
- hadoop学习linux环境搭建
- struts2学习之---实现Action
- JFileChooser文件保存位置选择器
- MATLAB: cat函数使用
- eclipse如何debug调试jdk源码
- javax.el.PropertyNotFoundException: Property 'name' not found on type java.lang.String 错误解决办法
- glibc源码解读——memset
- 注解的使用
- DeepLearning tutorial(5)CNN卷积神经网络应用于人脸识别(详细流程+代码实现)
- mac 配置maven环境变量(亲测可用)