JavaWeb笔记28-JSTL

本文详细介绍JSTL(JavaServer Pages Standard Tag Library)的功能与使用方法,包括如何通过JSTL进行赋值、显示、删除操作,以及如何实现选择和迭代等逻辑控制。

JSTL
比EL的功能更强大
需要引入两个jar包
1、jstl.jar
2、standard.jar
引入tablib

<!-- taglib引入库,prefix添加前缀 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

核心标签库:通用标签库、条件标签库、迭代标签库

通用标签库

<指定前缀(prefix):set>:赋值
有以下作用:
i、在某个作用域(4个范围对象)中给变量赋值

<%
	//	request.setAttribute("name", "ZhangSan");  这句java代码和下面jstl代码起到的作用完全一致
	%>
	<c:set var="name" value="ZhangSan" scope="request"/>
	<!--   变量名      变量值           作用域 -->
	${requestScope.name}

ii、在某个作用域之中(4个范围对象),给某个对象的属性赋值

	<c:set target="${requestScope.student}" property="sname" value="zxs"/><br>
	<!--   目标修改对象                     要修改的变量      修改值    -->
	<!-- 注意:对象赋值无需规定范围,因为范围在设置目标对象时已经确定了 -->

此种方法可以给普通对象赋值,也可以给Map对象赋值

	<c:set target="${requestScope.map}" property="cn" value="中华人民共和国"/>

注意可以给不存在的值赋值,但是不能给不存在的对象赋值

<指定前缀(prefix):out>:显示
JSTL的显示功能比EL(${ })要强大之处在于:
c:out在显示不存在的数据时,会自动调用自定义的默认值

	传统EL:${requestScope.student.sname}<br>
	cout方式:<c:out value="${requestScope.student.sname}"/><br>
	c:out显示不存在的数据:<c:out value="${requestScope.s }" default="不存在"/><br>

此外,c:out还有一个escape属性,当value属性值为超链接时,escape=true,显示超链接,escape为false,只显示字段

	escapeXml=true:<c:out value='<a href="http://baidu.com">百度</a><br>' escapeXml="true"/><br>
	escapeXml=false:<c:out value='<a href="http://baidu.com">百度</a><br>' escapeXml="false"/><br>

c:remove
删除属性

	=====c:remove=====<br>
	<c:set var="a" value="b" scope="request"/>
	删除前显示:${requestScope.a}<br>
	<c:remove var="a" scope="request"/>
	删除后显示:${requestScope.a}<br>

JSTL选择语法
单重选择
<c:if test="">
注意:用来选择的条件全都用EL包裹写在JSTL中

	<c:if test="${10<2}" var="result" scope="request">
	<!--var中存放结果集,scope中指定结果集存放范围-->
		选择内容
	</c:if>

多重选择
类似于switch选择结构

	<c:choose>
		<c:when test=""></c:when>
		<c:when test=""></c:when>
		<c:when test=""></c:when>
		<c:otherwise></c:otherwise>
	</c:choose>

JSTL迭代标签
普通迭代
<c:forEach begin=“初始值” end=“结束值” step=“步长”>

	<c:forEach begin="0" end="5" step="1" varStatus="status">
	<!-- varStatus:用于放属性值 ,有index(当前下标)-->
		${status.index}-
		test<br>
	</c:forEach>

遍历数组或集合
需要添加属性var和items

	<c:forEach var="name"  items="${requestScope.names}" varStatus="status">
	<!-- var表示每一次用于承接数组元素的容器,items为被遍历的数组对象 -->
		${status.index}-${name}<br>
	</c:forEach>
Delphi 12.3 作为一款面向 Windows 平台的集成开发环境,由 Embarcadero Technologies 负责其持续演进。该环境以 Object Pascal 语言为核心,并依托 Visual Component Library(VCL)框架,广泛应用于各类桌面软件、数据库系统及企业级解决方案的开发。在此生态中,Excel4Delphi 作为一个重要的社区开源项目,致力于搭建 Delphi 与 Microsoft Excel 之间的高效桥梁,使开发者能够在自研程序中直接调用 Excel 的文档处理、工作表管理、单元格操作及宏执行等功能。 该项目以库文件与组件包的形式提供,开发者将其集成至 Delphi 工程后,即可通过封装良好的接口实现对 Excel 的编程控制。具体功能涵盖创建与编辑工作簿、格式化单元格、批量导入导出数据,乃至执行内置公式与宏指令等高级操作。这一机制显著降低了在财务分析、报表自动生成、数据整理等场景中实现 Excel 功能集成的技术门槛,使开发者无需深入掌握 COM 编程或 Excel 底层 API 即可完成复杂任务。 使用 Excel4Delphi 需具备基础的 Delphi 编程知识,并对 Excel 对象模型有一定理解。实践中需注意不同 Excel 版本间的兼容性,并严格遵循项目文档进行环境配置与依赖部署。此外,操作过程中应遵循文件访问的最佳实践,例如确保目标文件未被独占锁定,并实施完整的异常处理机制,以防数据损毁或程序意外中断。 该项目的持续维护依赖于 Delphi 开发者社区的集体贡献,通过定期更新以适配新版开发环境与 Office 套件,并修复已发现的问题。对于需要深度融合 Excel 功能的 Delphi 应用而言,Excel4Delphi 提供了经过充分测试的可靠代码基础,使开发团队能更专注于业务逻辑与用户体验的优化,从而提升整体开发效率与软件质量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值