您的位置:首页 > 其它

4种访问web元素的action

2010-04-28 18:50 232 查看
package action;

import java.util.Map;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
//依赖于容器
public class WebElementAction1 extends ActionSupport{
//取得Map类型的request、session、application
//真实类型的为HttpServletRequest、HttpSession、ServletContext
private Map request;
private Map session;
private Map application;
public WebElementAction1() {
request = (Map) ActionContext.getContext().get("request");
session = ActionContext.getContext().getSession();
application = ActionContext.getContext().getApplication();
}

@Override
public String execute() throws Exception {
request.put("req", "request");
session.put("sess", "session");
application.put("app", "application");
return SUCCESS;
}
}

--------------------------------------------------------------

package action;

import java.util.Map;

import org.apache.struts2.interceptor.ApplicationAware;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.opensymphony.xwork2.ActionSupport;

/**
* 取得Map类型的request、session、application
*
* 真实类型的为HttpServletRequest、HttpSession、ServletContext
* IOC
* 开发中最常用的方式
* @author xyls
*/
public class WebElementAction2 extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{

private Map<String,Object> request;//很少用
private Map<String,Object> session;
private Map<String,Object> application;//基本不用

@Override
public String execute() throws Exception {
request.put("req", "request");
session.put("sess", "session");
application.put("app", "application");
return SUCCESS;
}
/**
* DI
* IOC(本来由自己控制,现在交给容器管理了,由使用者注入)
*/
public void setRequest(Map<String, Object> request) {
this.request = request;

}

public void setSession(Map<String, Object> session) {
this.session = session;
}

public void setApplication(Map<String, Object> application) {
this.application = application;
}
}
--------------------------------------------------------------

package action;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionSupport;
//依赖于容器
public class WebElementAction3 extends ActionSupport{
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public WebElementAction3() {
request = ServletActionContext.getRequest();
session = request.getSession();
application = session.getServletContext();
}

@Override
public String execute() throws Exception {
request.setAttribute("req", "request");
session.setAttribute("sess", "session");
application.setAttribute("app", "application");
return SUCCESS;
}
}
--------------------------------------------------------------
package action;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

import org.apache.struts2.ServletActionContext;
import org.apache.struts2.interceptor.ServletRequestAware;
import com.opensymphony.xwork2.ActionSupport;
//IOC
public class WebElementAction4 extends ActionSupport implements ServletRequestAware{
private HttpServletRequest request;
private HttpSession session;
private ServletContext application;
public WebElementAction4() {
request = ServletActionContext.getRequest();
session = request.getSession();
application = session.getServletContext();
}

@Override
public String execute() throws Exception {
request.setAttribute("req", "request");
session.setAttribute("sess", "session");
application.setAttribute("app", "application");
return SUCCESS;
}

public void setServletRequest(HttpServletRequest request) {
this.request = request;
this.session = request.getSession();
this.application = session.getServletContext();

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: