在Struts2中,从Action中取得request,session的对象进行应用是开发中的必需步骤,那么如何从Action中取得这些对象呢?
Struts2为我们提供了两种方式。
分别为:
1、servlet 相关的 非IoC 取得Request等对象的方式
这种方法可以获取servlet相关的request等对象,也就是说这种方式取出的request对象可以获取http相关的信息。
public class XXXAction extends ActionSupport{
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
@Override
public String execute() throws Exception {
this.request = ServletActionContext.getRequest();
this.session = this.request.getSession();
this.application = ServletActionContext.getServletContext();
return SUCCESS;
}
}
2、servlet 相关的 IoC 取得Request等对象的方式
这种方法也可以获取servlet相关的request等对象,也就是说这种方式取出的request对象可以获取http相关的信息,但是取出方法是通过接口进行实现,也就是由struts2的container来设定。
public class XXXAction extends ActionSupport implements ServletRequestAware , ServletContextAware{
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
@Override
public String execute() throws Exception {
this.request.setAttribute("attribute", "request value servlet 相关的 IoC ");
this.session = this.request.getSession();
this.session.setAttribute("attribute", "session value servlet 相关的 IoC ");
this.application.setAttribute("attribute", "application value servlet 相关的 IoC ");
return SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
}
@Override
public void setServletContext(ServletContext application) {
this.application = application;
}
}
分享到:
相关推荐
struts2 获取request session对象
struts2中request和session的获取
NULL 博文链接:https://aimilin6688.iteye.com/blog/1279546
struts2访问application、session以及request等web资源的示例代码
Struts2的Action中获得request response session几种方法
struts1中使用request、response都是方法自带的,而struts2中的request、response、session都被隐藏的了,该带代码文档会清晰的让你明白struts2中request、response在自定义方法中如何随意使用
一个Demo告诉你struts2如何创建 request response session application
本文讲述了serlvet API无耦合的方式
STRUTS2获得session和request
NULL 博文链接:https://fish198398.iteye.com/blog/785319
从开发者角度看,就是说需要显示给用户的数据可以直接从Action中获取,而不像Struts1.x那样,必须把相应的Bean存到Page、Request或者Session中才能获取。Struts1.x 必须继承org.apache.struts.action.Action或者其...
在Struts2中底层的session都被封装成了Map类型,我们称之为SessionMap,而平常我们所说的session则是指HttpSession对象,具体的获得方法如下所示。 A.Map session=ActionContext.getSession(); B.Map session=(Map...
而不像Struts1.x那样,必须把相应的Bean存到Page、Request或者Session中才能获取。 Struts1.x 必须继承org.apache.struts.action.Action或者其子类,表单数据封装在FormBean中。 Struts 2无须继承任何类型或实现...
2.修改题目1,将提交的“用户名信息”保存到request中,“密码信息”保存到session中,而“用户是否已经注册的判定信息”保存在application中,并在显示页面中,分别从request、session和application中获取数据并...
将struts2的知识进行综合整理,以达到全面复习。 例如:一、Struts2标记库中迭代标签iterator的()方法是判断当前元素是否是第偶数个元素。 A.isOdd B.isLast C.isFirst D.isEven 二、假设在session中存在名为...
Struts2+Mysql实现CURD,stuts2中使用servlet中Request,session,context对象
RequestMap,SessionMap,ApplicationMap, AttributeMap. struts提供两种方式访问session,request ,response,ActionContext 使用。 获得作用域及参数响应对象及三种符号说明
传值问题 在其中取值的方法有两种: #+映射名, 直接写映射名。...例如放置在session域或者request域中的数据,必须先指定作用域,然后再指定保存的对象. b.页面struts2标签保存的数据也需要使用#来获取
3:在action类中取得request和session对象的方法 Map session = ActionContext.getContext().getSession(); HttpServletRequest request = ServletActionContext.getRequest (); 设置它们的值的方法
session = ServletActionContext.getRequest().getSession(); 例: public String findAll(){ HttpSession session = ServletActionContext.getRequest().getSession(); list = userService.find(); session....