在struts2的action中获取/设置request对象的属性的值

来源:互联网 发布:ubuntu添加拼音输入法 编辑:程序博客网 时间:2024/05/01 02:36

在struts2的action中获取/设置request对象的属性的值,可通过 ActionContext 类和 ServletActionContext 类完成,分别说明如下:


一,通过 ActionContext 方式

这里通过action上下文找到request对象,在设置或取出其中指定属性的值,实现步骤:

1,引入相应的包

import java.util.Map; //其它包视具体情况引入import javax.servlet.http.HttpServletRequest;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;

2,获取action上下文

ActionContext cxt = ActionContext.getContext(); 

3,再设置或取出 Request 对象中指定属性的值

HttpServletRequest request = (HttpServletRequest)cxt.get(ServletActionContext.HTTP_REQUEST);String vAttr = request.getAttribute("attrName"); //获取名为attrName的request属性的值request.put("attrName2","attrName2Value");  //设置名为attrName2的request属性,其值为attrName2Value//上面一行代码等效于 request.setAttribute("attrName2","attrName2Value");


二,通过 ServletActionContext 方式

1,引入相应的包

import java.util.Map; //其它包视具体情况引入import org.apache.struts2.ServletActionContext;  //key import javax.servlet.http.HttpServletRequest;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;

2,找出 request 对象

HttpServletRequest request = ServletActionContext.getRequest();//HttpServletResponse response = ServletActionContext.getResponse(); //找出 response 对象

3,获取或设置 request 中指定名称的属性值

String userName = (String)request.getAttribute("attrName1");  //获取request中名称为 attrName1 的属性值request.setAttribute("attrName2","attrName2Value");  //设置request对象中名称为attrName2的属性,其值 attrName2Value