struts2中如何设置四大域对象

 我来答
ijava学习网
2018-07-10 · 国内最优秀java资源共享平台
ijava学习网
国内最优秀的java免费资源共享及学习平台,专注从实战中学习与成长。主要包括教程、经验分享、知识、资讯、工具、手册、视频及各种资源下载。
向TA提问
展开全部
案例说明:
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>
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式