JSP页面引入:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
表达式操作标签:out、set、remove、catch
1.<c:out>
<c:out>可以在页面中显示一个字符串或一个EL表达式的值。它的功能与JSP传统的<%=表达式%>相类似。
out标签的使用格式如下:
<c:out value=”object” [escapeXml=”true|false”] />
<c:out value=”object” [escapeXml=”true|false”] >default value</c:out>
参数:
value:可以指定一个字符串作为输出内容,也可以为EL表达式,例如${3+5}。
escapeXml:类型为boolean,确定<、>、&、’、”等这些字符在结构的字符串中是否被转换成字
符串实体代码,默认的是true。
default value:可以是字符串,或一个表达式(EL表达式或者<%=表达式%>的JSP表达式)。
如果属性指定的表达式或者对象值为null时,那么将输出这个default value部分的值。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <title>JSTL OUT标签</title> </head> <body> <% String items[] = new String[3]; items[0] = "JSTL OUT标签测试"; items[1] = "<h2>abc</h2>"; items[2] = "输出2"; request.setAttribute("items", items); %> <c:out value="${a}">JSTL OUT标签</c:out> <br /> <c:out value="${b}" default="JSTL OUT" /> <br /> <c:out value="${items[0]}">JSTL OUT标签</c:out> <br /> <c:out value="${items[1]}" /> <br /> <c:out value="${items[1]}" escapeXml="false" /> <br /> <c:out value="${items[2]}" /> <br /> <c:out value="${111+211}" /> </body> </html>
输出:
JSTL OUT标签
JSTL OUT
JSTL OUT标签测试
<h2>abc</h2>
abc
输出2
322
2.<c:set>
<c:set>标签是用来在某个范围(request、session或者application)内设值,或者设置某个对象的属性值。
set标签的使用格式如下:
<c:set var=”varName” value=”varValue” [scope=”page|request|session|application”] />
<c:set var=”varName” value=” Value” [scope=”page|request|session|application”] >
default value
</c:set>
<c:set property=”propertyName” target=”target” value=”value” />
<c:set property=”propertyName” target=”target” value=”value” >
default value
</c:set>
参数:
value:该属性指定变量或者对象中某个属性的值,并且可以是一个表达式。
var:变量名称, value属性指定的值就保存在这个变量中。
scope:设定变量的有效范围,如果不设置,则默认为page。
target:设置属性的一个对象,它必须是JavaBean或者java.util.Map对象。
property:设置对象中的一个属性。
例子:
package test.jstl; import java.io.Serializable; public class Test implements Serializable { private static final long serialVersionUID = 7133763668848520975L; private String name; private String value; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getValue() { return value; } public void setValue(String value) { this.value = value; } @Override public String toString() { return "Test [name=" + name + ", value=" + value + "]"; } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page language="java" import="test.jstl.Test"%> <html> <head> <title>JSTL SET标签</title> </head> <body> <% Test test = new Test(); test.setName("名字1"); test.setValue("值1"); request.setAttribute("test", test); %> <h3>set标签测试</h3> <c:set var="var1" value="1" /> <c:set var="var2" value="2" scope="page" /> <c:set var="var3" value="3" scope="request" /> <c:set var="var4" value="4" scope="session" /> <c:set var="var5" value="5" scope="application" /> <c:out value="${var1}" /> <br /> <c:out value="${var2}" /> <br /> <c:out value="${var3}" /> <br /> <c:out value="${var4}" /> <br /> <c:out value="${var5}" /> <br /> <h3>修改Test类中Name属性的值前:</h3> <c:out value="${test.name}" /> <br /> <h3>修改Test类中Name属性的值后:</h3> <c:set property="name" target="${test}" value="名字2" /> <c:out value="${test.name}" /> <br /> </body> </html>
输出:
set标签测试
1
2
3
4
5
修改Test类中Name属性的值前:
名字1
修改Test类中Name属性的值后:
名字2
3.<c:remove>
remove标签一般和set标签配套使用,两者是相对应的,remove标签用于删除某个变量或者属性。
使用格式如下:
<c:remove var=”varName” [scope=”page|request|session|application”] />
参数:
scope:设定这个需要删除的变量所在范围。
var:需要删除的变量或者对象属性的名称。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page language="java" import="test.jstl.Test"%> <html> <head> <title>JSTL Remove标签</title> </head> <body> <h3>remove标签测试</h3> <c:set var="var1" value="1" /> <c:set var="var2" value="2" scope="page" /> <c:set var="var3" value="3" scope="request" /> <h3>删除前:</h3> <c:out value="${var1}" /> <br /> <c:out value="${var2}" /> <br /> <c:out value="${var3}" /> <br /> <h3>删除Page对象后:</h3> <c:remove var="var1" scope="page" /> <c:remove var="var2" scope="page" /> <c:remove var="var3" scope="page" /> <c:out value="${var1}" /> <br /> <c:out value="${var2}" /> <br /> <c:out value="${var3}" /> <br /> <h3>删除对象后:</h3> <c:remove var="var3" /> <c:out value="${var3}" /> <br /> </body> </html>
输出:
remove标签测试
删除前:
1
2
3
删除Page对象后:
3
删除对象后:
4.<c:catch>
catch标签的功能和Java程序中try…catch{}语句功能很类似,它用于捕获嵌入到它中间语句抛出的异常。
使用格式如下:
<c:catch var=”varName” > 相关操作语句 </c:catch>
参数:
var:用于保存异常错误的一个变量名。
例子:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <%@ page language="java" import="test.jstl.Test"%> <html> <head> <title>JSTL Catch标签</title> </head> <body> <c:catch var="error"> <% String str = "3"; int num1 = Integer.parseInt(str); request.setAttribute("num1", num1); %> </c:catch> <c:out value="数字为:" /> <c:out value="${num1 }" /> <br/> <c:out value="错误为:" /> <c:out value="${error }" /> <hr /> <c:catch var="error"> <% String str = "a"; int num2 = Integer.parseInt(str); request.setAttribute("num2", num2); %> </c:catch> <c:out value="数字为:" /> <c:out value="${num2 }" /> <br/> <c:out value="错误为:" /> <c:out value="${error }" /> </body> </html>
输出:
相关推荐
**JSTL详解--Core标签库介绍** JavaServer Pages(JSP)标准标记库(JSTL)是一个关键的工具,旨在减少JSP页面中的脚本元素,提高代码的可维护性和可读性。JSTL包含了一系列定制的标记库,用于实现常见的Web应用...
1. **多用途核心标签**:包括`<c:out>`、`<c:set>`、`<c:remove>`和`<c:catch>`。这类标签用于基本的数据处理和输出。 2. **条件控制标签**:包括`<c:if>`、`<c:choose>`、`<c:when>`和`<c:otherwise>`。用于实现...
1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL操作标签:import、url、redirect 使用标签时,一定要在jsp文件头加入以下代码...
**JSTL(JSP Standard Tag Library)**是Java服务器页面(JSP)的一个标准标记库,它提供了许多预定义的标签,以增强JSP页面的功能性和可维护性。JSTL旨在减少JSP页面中的Java脚本,提高代码的可读性和可重用性。 *...
- **核心标签库(Core Tags)**:包括用于输出、设置变量、移除变量和异常捕获的标签,如`<c:out>`、`<c:set>`、`<c:remove>`和`<c:catch>`。 - **国际化标签库(Internationalization Tags)**:用于处理多语言...
1. **核心标签库 (Core Tag Library)** - 包含通用的标签,如 `<c:out>`、`<c:set>`、`<c:remove>`、`<c:catch>`、`<c:if>`、`<c:choose>`、`<c:when>` 和 `<c:url>`。这些标签用于处理基本的逻辑和数据操作,如输出...
在Java Web开发中,JSTL的核心标签库(Core Tag Library)包含以下几个主要方面: 1. **流程控制**: - `<c:if>`:用于执行条件判断,可以根据指定的条件执行不同的代码块。 - `<c:choose>`, `<c:when>`, `...
JSTL 包含多个核心标签库,其中最常用的是 Core 标签库,此外还包括 SQL 标签库、格式化标签库等。下面将详细介绍这些标签库的基本用法。 #### Core 标签库 - **定义**:Core 标签库包含了用于控制流程、变量管理、...
1. **表达式控制标签**:`out`、`set`、`remove`、`catch`,主要用于数据的输出、变量的设置与删除以及异常处理。 2. **流程控制标签**:`if`、`choose`、`when`、`otherwise`,用于实现逻辑判断和选择结构。 3. **...
本文将深入探讨JSTL的核心标签库(core tag library),主要包括`<c:set>`、`<c:remove>`、`<c:catch>`、`<c:if>`、`<c:choose>`以及`<c:forEach>`等标签的使用。 1. `<c:set>`标签: `<c:set>`用于设置变量的值,...
主要包括`<c:out>`、`<c:set>`、`<c:remove>`、`<c:catch>`、`<c:if>`、`<c:choose>`、`<c:when>`、`<c:otherwise>`、`<c:forEach>`、`<c:forTokens>`、`<c:import>`、`<c:url>`和`<c:redirect>`等标签。这些标签...
JSTL主要由几个不同的标签库组成,包括核心标签库、SQL标签库、XML标签库以及函数标签库。 1. **核心标签库 (Core Tags):** 这个库定义了`cc.tld`,包含了用于常见任务的标签,如数据管理、流程控制和输出。主要...
JSTL(JavaServer Pages Standard Tag Library)是Java Web开发中的一个标准标签库,它提供了一系列的标签来简化页面逻辑,让代码更加清晰易读。本文将详细介绍JSTL的核心标签库及其常用功能。 1. **简介** JSTL ...
Core 标签库是JSTL中最常用的库之一,它提供了一系列常用的功能,包括条件判断、循环迭代以及URL操作等。下面详细介绍几个常用的标签: ##### 2.1 <c:out> `<c:out>` 标签用于输出表达式的值。它可以接受多种类型...
在本篇文章中,我们将深入探讨JSTL的核心标签库(Core Tag Library)以及其中的一些关键标签。 首先,JSTL的核心标签库包含了广泛使用的标签,它们分为四类:一般用途标签、条件标签、迭代标签和URL相关的标签。在...
1. **表达式控制标签**:包括`<c:out>`、`<c:set>`、`<c:remove>` 和 `<c:catch>`。这些标签主要用于处理表达式的输出和赋值等操作。 - `<c:out>`:输出表达式的值。 - `<c:set>`:设置变量的值。 - `<c:remove>`...
**JSTL(JavaServer Pages Standard Tag Library)** 是一个用于Java Web开发的标准标签库,旨在提高程序的可读性、可维护性以及方便性,从而替代在JSP页面中直接编写Java脚本。JSTL 1.1 版本需要在支持Servlet 2.4...
- **表达式操作**:`<c:out>`、`<c:set>`、`<c:remove>`和`<c:catch>`。 - `<c:out>`用于显示数据,类似于JSP的脚本语言。 - `<c:set>`用于设置变量。 - `<c:remove>`用于移除变量。 - `<c:catch>`用于捕获异常...
JSTL的核心标签库(Core Tags)包含了一些常用的功能标签,如: 1. `<c:out>`:这个标签用于输出表达式的值,类似于`<%= %>`或EL表达式`${}`。它可以防止XSS攻击,因为默认情况下它会对输出进行HTML转义。 2. `<c:...