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



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

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

这里通过action上下文找到request对象,在设置或取出其中指定属性的值,实现步骤:
1,引入相应的包
[java] view plaincopy
import java.util.Map; //其它包视具体情况引入
import javax.servlet.http.HttpServletRequest;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

2,获取action上下文
[java] view plaincopy
ActionContext cxt = ActionContext.getContext();

3,再设置或取出 Request 对象中指定属性的值
[java] view plaincopy
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,引入相应的包
[java] view plaincopy
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 对象
[java] view plaincopy
HttpServletRequest request = ServletActionContext.getRequest();
//HttpServletResponse response = ServletActionContext.getResponse(); //找出 response 对象

3,获取或设置 request 中指定名称的属性值
[java] view plaincopy
String userName = (String)request.getAttribute(“attrName1″);
//获取request中名称为 attrName1 的属性值

request.setAttribute(“attrName2″,”attrName2Value”);
//设置request对象中名称为attrName2的属性,其值 attrName2Value

http://blog.csdn.net/shenzhennba/article/details/8093489