【struts2】访问web元素三种方法

来源:互联网 发布:unity3d 导航控制集 编辑:程序博客网 时间:2024/06/02 22:49

访问web元素 map类型的 request、session、application;真实类型的 httpservletrequest、httpsessiont、servletcontext

1、使用ActionContext访问web元素

private Map request ;private Map session ;private Map application ;public IndexAction(){request = (Map)ActionContext.getContext().get("request");session = ActionContext.getContext().getSession();application = ActionContext.getContext().getApplication();}public String add() {request.put("r1","request");session.put("s1","session");application.put("a1","application");return SUCCESS;}
jsp页面访问

<s:property value="#request.r1" /><br /><s:property value="#session.s1" /><br /><s:property value="#application.a1" /><s:debug></s:debug>

2、依赖于容器,IoC、DI


public class IndexAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAware{private Map<String,Object> request ;private Map<String,Object> session ;private Map<String,Object> application ;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 ;}public String add() {request.put("r1","awarerequest");session.put("s1","awaresession");application.put("a1","awareapplication");return SUCCESS;}}


3、通过ServletActionContext获取原始的web元素类型

public class IndexAction extends ActionSupport {private HttpServletRequest request ;private HttpSession session ;private ServletContext application ;public IndexAction(){request = ServletActionContext.getRequest();session = request.getSession();application = session.getServletContext();}public String add() {request.setAttribute("r1", "httprequest");session.setAttribute("s1","session");application.setAttribute("a1","application");return SUCCESS;}}



0 0
原创粉丝点击