//第一种方法 //访问session request applicaton的代码 package com.sp.stution; import java.util.Map; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class stu extends ActionSupport { private String name; private Map request; private Map session; private Map application; public stu(){ request=(Map)ActionContext.getContext().get("request"); session=(Map)ActionContext.getContext().getSession(); application=(Map)ActionContext.getContext().getApplication(); } //页面接收代码 <s:property value="#request.r1"/>!<%=request.getAttribute("r1") %> <s:property value="#request.r2"/>!<%=session.getAttribute("r2") %> <s:property value="#request.r3"/>!<%=application.getAttribute("r3") %> 说明:可以看出虽然我们定义的session application request 都是map类型但是在页面我们可以看出依然可以像在jsp里面一样去访问 session application request说明struts已经给我们做好了由map类型向web内置对象的转换 //通过实现//RequestAware ,SessionAware,ApplicationAware三//个接口 //代码如下 package com.sp.stution; 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.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class stu extends ActionSupport implements RequestAware ,SessionAware,ApplicationAware { private String name; 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 getName() { return name; } public void setName(String name) { this.name = name; } public String add(){ if(name!="lingkai"){ this.addFieldError("name", "cuoqu"); this.addFieldError("name","you name is too long"); request.put("r1", "re"); session.put("r2", "r2"); application.put("r3", "r3"); return ERROR; }else{ return SUCCESS; } } } //运用的是spring的控制反转思想