struts2 获取请求相关对象
来源:互联网 发布:uniprotRef数据库 编辑:程序博客网 时间:2024/05/19 04:56
本节主要讲述如何在Action中获取:request,session,application。
共四种方式,示例在下面给出,其中第二种常用。
【注意1】:我们需要知道前两种方法得到的是Map<String,Object>,而后两种方式得到的才是真正的request等对象。而Map就是把request对象中的属性取出做成了键值对而已。
【注意2】:另外如果就是为了在action和jsp传递参数的话,只需要在action中定义成员,然后Jsp中利用struts标签<s:property value="name"/>就能够访问到数据,而这些内容都是被保存在了value stack中。关于value stack 和 stack context 会在后面得内容涉及。
?
方法一:
public class LoginAction1 extends ActionSupport {
private Map request;
private Map session;
private Map application;
public LoginAction1() {
request = (Map)ActionContext.getContext().get("request");
session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication();
}
public String execute() {
request.put("r1", "r1");
session.put("s1", "s1");
application.put("a1", "a1");
return SUCCESS;
}
}
方法二:
public class LoginAction2 extends ActionSupport implements RequestAware,SessionAware, ApplicationAware {
private Map<String, Object> request;
private Map<String, Object> session;
private Map<String, Object> application;
//DI dependency injection
//IoC inverse of control
public String execute() {
request.put("r1", "r1");
session.put("s1", "s1");
application.put("a1", "a1");
return SUCCESS;
}
? @Override
public void setRequest(Map<String, Object> request) {
this.request = request;
}
@Override
public void setSession(Map<String, Object> session) {
this.session = session;
}
@Override
public void setApplication(Map<String, Object> application) {
this.application = application;
}
}
方法三:
public class LoginAction3 extends ActionSupport {
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public LoginAction3() {
request = ServletActionContext.getRequest();
session = request.getSession();
application = session.getServletContext();
}
public String execute() {
request.setAttribute("r1", "r1");
session.setAttribute("s1", "s1");
application.setAttribute("a1", "a1");
return SUCCESS;
}
}
方法四:
public class LoginAction4 extends ActionSupport implements ServletRequestAware {
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public String execute() {
request.setAttribute("r1", "r1");
session.setAttribute("s1", "s1");
application.setAttribute("a1", "a1");
return SUCCESS;
}
@Override
public void setServletRequest(HttpServletRequest request) {
this.request = request;
this.session = request.getSession();
this.application = session.getServletContext();
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/myxunteng111/archive/2011/06/28/6573156.aspx
- struts2 获取请求相关对象
- struts2 获取请求相关对象
- Struts2 获取 Session对象
- struts2获取域对象
- Struts2中获取请求参数
- struts2的获取请求方法
- Struts2 获取表单请求参数
- struts2中获取请求参数
- httpServletRequest对象获取请求参数
- struts2中对象的获取
- struts2 如何获取servlet对象
- Struts2获取web资源对象
- struts2获取参数/封装对象
- struts2获取请求的两种方式
- struts2拦截器获取请求相关内容
- struts2拦截器获取http请求参数
- 在struts2中获取请求参数
- Struts2 HttpServletRequest获取请求参数的过程
- Open drain 输出的好处?
- 有理想的程序员必须知道的15件事
- Extjs TreePanel 完美实现
- jquery+table+td+a
- Ubuntu镜像
- struts2 获取请求相关对象
- Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
- NBU网络备份大全之oracle系统热备份
- python之set
- oracle系统冷备份---NBU网络备份大全
- MFC应用程序接收命令行参数的实现
- VC 调用外部程序
- oracle partition 分区建立详解
- 全面掌握ISO8583报文协议