首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Struts2中调用request步骤

2012-09-11 
Struts2中调用request方法Struts2跟servlet不一样.不能直接调用request但是有很多地方又需要用到request通

Struts2中调用request方法
  Struts2跟servlet不一样.不能直接调用request
  但是有很多地方又需要用到request
  通过request可以操作很多东西.
  比如:

HttpSession session = request.getSession();session.setAttribute("object", object);request.setAttribute("object", object);
等等...
   既然不让直接调用,那就得想办法调用.
   每个Strut2文件都需要继承一个类:ActionSupport.想要调用request需要实现两个接口.所有有了以下解决方案
   1.自定义一个基础类.继承ActionSupport类并且时间ServletRequestAware, ServletResponseAware接口.
   2.在基础类中得到想要的东西.比如request,response或者session.

import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.interceptor.ServletRequestAware;import org.apache.struts2.interceptor.ServletResponseAware;import com.opensymphony.xwork2.ActionSupport;public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware{private static final long serialVersionUID = 1L;public HttpServletRequest request;public HttpServletResponse response;@Overridepublic void setServletResponse(HttpServletResponse response) {this.response=response;}@Overridepublic void setServletRequest(HttpServletRequest request) {this.request=request;}}


如果用到session的话,也可以取出session来.
   3.以后每个Struts2的java类继承这个BaseAction 类就可以同时使用了.

高手勿喷.

热点排行