struts2中如何设置四大域对象
1个回答
2018-07-10 · 国内最优秀java资源共享平台
关注
展开全部
案例说明:
1.struts.xml文件
<package name="mypackage" extends="struts-default">
<!-- 配置全局错误结果 :范围只是本包-->
<global-results>
<result type="dispatcher" name="error">/customer/error.jsp</result>
</global-results>
</package>
<package name="scope" namespace="/scope" extends="mypackage"><!--主要在这个action包中-->
<action name="scopeAction" class="cn.ijava.action.ScopeAction" method="execute">
<result type="redirect" name="success">/scope.jsp</result>
</action>
</package>
2.cn.ijava.action.ScopeAction在这个类中写域对象的设置值
//域范围
public class ScopeAction extends ActionSupport implements Serializable {
//向各大域范围存放点数据
@Override
public String execute() throws Exception {
ActionContext ac = ActionContext.getContext();
Map<String,Object> applicationMap = ac.getApplication();//这个就是ServletContext对象中维护的那个Map
applicationMap.put("p", "application_p");// ServletContext.setAttribute(key,object);
Map<String,Object> sessionMap = ac.getSession();//这个就是HttpSession对象中维护的那个Map
sessionMap.put("p", "session_p");// HttpSession.setAttribute(key,object);
//我们在写购物车、登录的时候就需要使用session这个域对象了。
ac.put("p", "request_p");//相当于ServletRequest.setAttribute(key,obj);
return super.execute();
}
}
3.scope.jsp
<body>
应用范围:${applicationScope.p}<br/>
会话范围:${sessionScope.p}<br/>
请求范围:${requestScope.p}<br/>
</body>
1.struts.xml文件
<package name="mypackage" extends="struts-default">
<!-- 配置全局错误结果 :范围只是本包-->
<global-results>
<result type="dispatcher" name="error">/customer/error.jsp</result>
</global-results>
</package>
<package name="scope" namespace="/scope" extends="mypackage"><!--主要在这个action包中-->
<action name="scopeAction" class="cn.ijava.action.ScopeAction" method="execute">
<result type="redirect" name="success">/scope.jsp</result>
</action>
</package>
2.cn.ijava.action.ScopeAction在这个类中写域对象的设置值
//域范围
public class ScopeAction extends ActionSupport implements Serializable {
//向各大域范围存放点数据
@Override
public String execute() throws Exception {
ActionContext ac = ActionContext.getContext();
Map<String,Object> applicationMap = ac.getApplication();//这个就是ServletContext对象中维护的那个Map
applicationMap.put("p", "application_p");// ServletContext.setAttribute(key,object);
Map<String,Object> sessionMap = ac.getSession();//这个就是HttpSession对象中维护的那个Map
sessionMap.put("p", "session_p");// HttpSession.setAttribute(key,object);
//我们在写购物车、登录的时候就需要使用session这个域对象了。
ac.put("p", "request_p");//相当于ServletRequest.setAttribute(key,obj);
return super.execute();
}
}
3.scope.jsp
<body>
应用范围:${applicationScope.p}<br/>
会话范围:${sessionScope.p}<br/>
请求范围:${requestScope.p}<br/>
</body>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询