JSP标准标签库(JSTL)

本文介绍了JSP标准标签库(JSTL)中的Core和Functions库,包括配置JSTL的步骤以及核心标签库的常用标签如<c:out>、<c:set>、<c:remove>、<c:if>、<c:forEach>和<c:forTokens>的使用方法和示例。这些标签简化了JSP页面的编写,提供了数据输出、变量设置、流程控制和迭代等功能。
摘要由CSDN通过智能技术生成

JSTL 规范由 Sun 公司制定,由 Apache 的 Jakarta 小组负责实现。JSTL 由 5 个不同功能的标签库组成,包括 Core、I18N、XML、SQL 以及 Functions,本节只简要介绍 JSTL 的 Core 和 Functions 标签库中几个常用的标签。

配置 JSTL
JSTL 现在已经是 Java EE5 的一个组成部分,如果采用支持 Java EE5 或以上版本的集成开发环境开发 Web 应用程序,就不需要再配置 JSTL 了。

如果你再用的是 Eclipse 平台,则需要配置 JSTL。配置 JSTL 的步骤如下:
1)复制 JSTL 的标准实现
在 Tomcat 的 \webapps\examples\WEB-INF\lib 目录下找到 taglibs-standard-impl-1.2.5.jar 和 taglibs-standard-spec-1.2.5.ja r文件,然后复制到 Web 工程的 WEB-INF\lib 目录下。

2)使用 taglib 标记定义前缀与 uri 引用
如果使用 Core 标签库,首先需要在 JSP 页面中使用 taglib 标记定义前缀与 uri 引用,代码如下:

<%@taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>

如果使用 Functions 标签库,首先需要在 JSP 页面中使用 taglib 标记定义前缀与 uri 引用,代码如下:

<%@taglib prefix=“fn” uri=“http://java.sun.com/jsp/jstl/functions”%>

核心标签库之通用标签
1. <c:out> 标签
<c:out> 标签用来显示数据的内容,与 <%=表达式%> 或 ${表达式} 类似。格式如下:

<c:out value=“输出的内容” [default=“defaultValue”]/>

<c:out value=“输出的内容”>
defaultValue
</c:out>

其中,value 值可以是一个 EL 表达式,也可以是一个字符串;default 可有可无,当 value 值不存在时输出 defaultValue。例如:

< c:out value="${param.data}" default=“没有数据”/>

< c:out value="${param.nothing}"/>
< c:out value=“这是一个字符串”/>

程序输出的结果如图 1 所示。
在这里插入图片描述

图 1 标签

2. <c:set>标签
1)设置作用域变量
用户可以使用 <c:set> 在 page、request、session、application 等范围内设置一个变量。格式如下:

<c:set value=“value” var=“varName”[scope=“page|request|session|application”]/>

该代码将 value 值赋给变量 varName。

<c:set value=“zhao” var=“userName” scope=“session”/>

相当于

<%session.setAttribute(“userName”,“zhao”);%>

2)设置 JavaBean 的属性
在使用 <c:set> 设置 JavaBean 的属性时必须使用 target 属性进行设置。格式如下:
<c:set value=“value” target=“target” property=“propertyName”/>
该代码将 value 值赋给 target 对象(JaveBean 对象)的 propertyName 属性。如果 target 为 null 或没有 set 方法则抛出异常。

3. <c:remove>标签
如果要删除某个变量,可以使用 <c:remove> 标签。例如:

<c:remove var=“userName” scope=“session”/>

相当于

<%session.removeAttribute(“userName”)%>

核心标签库之流程控制标签
1. <c:if> 标签
<c:if> 标签实现 if 语句的作用,具体语法格式如下:

<c:if test=“条件表达式”>
主体内容
</c:if>

其中,条件表达式可以是 EL 表达式,也可以是 JSP 表达式。如果表达式的值为 true,则会执行 <c:if> 的主体内容,但是没有相对应的 <c:else> 标签。如果想在条件成立时执行一块内容,不成立时执行另一块内容,可以使用 <c:choose>、<c:when> 及 <c:otherwise> 标签。

2. <c:choose>、<c:when>及<c&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值