正文

变量存取范围及JSP、JSTL和Struts技术中变量的存取方法2007-04-09 11:30:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/hurongliang/24721.html

分享到:

JSP中变量的定义范围实际有5种:本地范围,页面范围(page),请求范围(request),会话范围(session)和应用程序范围(application)。 以下介绍在各种技术中的变量存取方法。 u  JSP中: 存储: 本地范围变量直接定义,如:    String name="name in page"; page范围变量保存在pageContext隐式对象中,如:    pageContext.setAttribute("nameContext","name in pageContext"); request范围变量保存在request隐式对象中,如:    request.setAttribute("nameRequest","name in Request"); session范围变量保存在session隐式对象中,如:    session.setAttribute("nameSession","name in Session"); application范围变量保存在application隐式对象中,如:    application.setAttribute("nameApplication","name in Application"); 读取:    name:<%=name%><br/> nameContext:<%=pageContext.getAttribute("nameContext").toString()%><br/> nameRequest:<%=request.getAttribute("nameRequest").toString() %><br/> nameSession:<%=session.getAttribute("nameSession").toString() %><br/> nameApplication:<%=application.getAttribute("nameApplication").toString() %> u  JSTL中 JSTL中没有本地范围的概念。只有page,request,session和application范围的变量。 存储 使用c:set存储变量。 scope属性默认为page, 若不指定则变量存储在page范围里:    <c:set var="name" value="name in where"/>    <c:set var="namePage" value="name in pageScope" scope="page"></c:set>    <c:set var="nameRequest" value="name in requestScope" scope="request"></c:set>    <c:set var="nameSession" value="name in sessionScope" scope="session"></c:set>    <c:set var="nameApplication" value="name in ApplicationScope" scope="page"></c:set> 读取 使用c:out读取变量 c:out标签依次从page,request,session,application范围查找指定变量然后输出。也可以指定查找范围。    nameSession - <c:out value="${nameSession}" /> - 依次搜索至session范围,找到nameSession变量,然后输出。<br/>    namePage - <c:out value="${pageScope.namePage }"/> - 指定搜索范围为page范围<br>    nameRequest - <c:out value="${requestScope.nameRequest }"/> - 指定搜索范围为request范围<br>    nameSession - <c:out value="${sessionScope.nameSession }"/> - 指定搜索范围为session范围<br>    nameApplication - <c:out value="${applicationScope.nameApplication }"/> - 指定搜索范围为application范围<br>    name - <c:out value="${pageScope.name }"/>struts中跟JSTL一样,只有page,request,session,application范围。存储使用bean:definetoScope属性指定存储范围,默认为page, 若不指定则变量存储在page范围里读取使用bean:writescope属性指定读取范围,若没有设置此属性,则依次从page,request,session,application范围查找指定变量然后输出。

阅读(3416) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册