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:define
toScope属性指定存储范围,默认为page, 若不指定则变量存储在page范围里
读取
使用bean:write
scope属性指定读取范围,若没有设置此属性,则依次从page,request,session,application范围查找指定变量然后输出。
相关推荐
例如,在 JSP 页面中,可以使用 JSTL 来控制流程和数据处理,同时利用 EL 或 OGNL 进行数据的访问和展示。在 Struts2 应用中,则可以充分利用 Struts 标签来处理复杂的业务逻辑和数据展示需求。
- 在JSP页面上循环显示集合中的数据,通常可以使用JSP脚本代码、JSTL标签、Struts2标签等方法。然而,直接使用jsp脚本元素结合EL表达式并不是一个标准的做法,因为EL表达式主要用于数据访问而非循环控制。 #### 八...
JSP页面标签通过EL、JSTL和Struts Tags等工具,提高了JSP的可读性和维护性。EL简化了表达式,JSTL提供了强大的标签集,而Struts Tags则为基于Struts的开发提供了便利。理解并熟练运用这些标签,可以有效提升JSP页面...
3. **丰富的生态系统**:Java社区提供了大量开源库和框架,如Struts、Spring MVC和Hibernate,可以无缝集成到JSP项目中,提升开发效率。 4. **安全性**:Java的安全模型为JSP应用提供了安全保障,减少潜在的攻击...
SSH三大框架指的是Spring、Struts和Hibernate,它们是Java Web开发中的重要组件,常用于构建高效、可维护的Web应用程序。SSH框架的整合是企业级应用开发中的常见实践,能够帮助开发者实现MVC(Model-View-Controller...
在SSH项目中,JSP结合EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library),展示由Struts和Spring处理后的数据。 6. **整合开发**:SSH整合的关键在于它们之间的无缝协作。Spring能够管理...
这个项目实例包括了笔记和详细的实现步骤,确保学习者可以逐步跟进行动,从而掌握关键概念和技术。 JavaWeb是基于Java技术的Web应用程序开发领域,它允许开发者创建动态、交互式的网站和应用。在JavaWeb开发中,...
- **Struts2 开发环境及流程**:熟悉 Struts2 的安装配置以及 MVC 模式的应用。 - **验证和文件上传**:理解如何在 Web 应用中实现数据验证和文件上传功能。 - **DOS 全称**:Disk Operating System,即磁盘操作系统...
### JSP & Struts #### 1. 列举你知道的页面间对象传递的方法 - 使用`request.setAttribute()`/`request.getAttribute()` - 使用`session.setAttribute()`/`session.getAttribute()` - 使用`application....