c标签,jsp核心标签库,JSTL标签

xiaoxiao2021-02-28  74

核心标签 核心标签是最常用的JSTL标签。引用核心标签库的语法如下:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>标签 描述

<c:out> 用于在JSP中显示数据,就像<%= ... >

<c:out value="<string>" default="<string>" escapeXml="<true|false>"/> 属性 描述 是否必要 默认值 value 要输出的内容 是 无 default 输出的默认值 否 主体中的内容 escapeXml 是否忽略XML特殊字符 否 true 当escapeXml为false时使用转义字符

<c:set> 用于保存数据,用于设置变量值和对象属性。

它有一个特点就是 它会计算表达式的值,然后使用计算结果来设置 JavaBean 对象或 java.util.Map 对象的值

<c:set>标签有如下属性:

属性 描述 是否必要 默认值 value 要存储的值 否 主体的内容 target 要修改的属性所属的对象 否 无 property 要修改的属性 否 无 var 存储信息的变量 否 无 scope var属性的作用域 否 Page

如果指定了target属性,那么property属性也需要被指定。


实例演示

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:set 标签实例</title> </head> <body> <c:set var="salary" scope="session" value="${2000*2}"/> <c:out value="${salary}"/> </body> </html>

运行结果如下:

4000

<c:remove> 用于删除数据

<c:remove>标签用于移除一个变量,可以指定这个变量的作用域,若未指定,则默认为变量第一次出现的作用域。

语法格式

<c:remove var="<string>" scope="<string>"/>

属性

<c:remove>标签有如下属性:

属性 描述 是否必要 默认值 var 要移除的变量名称 是 无 scope 变量所属的作用域 否 所有作用域

实例演示

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:remove 标签实例</title> </head> <body> <c:set var="salary" scope="session" value="${2000*2}"/> <p>salary 变量值: <c:out value="${salary}"/></p> <c:remove var="salary"/> <p>删除 salary 变量后的值: <c:out value="${salary}"/></p> </body> </html>

运行结果如下:

salary 变量值: 4000 删除 salary 变量后的值:

<c:catch> 用来处理产生错误的异常状况,并且将错误信息储存起来

<c:catch> 标签主要用来处理产生错误的异常状况,并且将错误信息储存起来。

语法格式

<c:catch var="<string>"> ... </c:catch>

属性

<c:catch>标签有如下属性:

属性 描述 是否必要 默认值 var 用来储存错误信息的变量 否 None

实例演示

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:catch 标签实例</title> </head> <body> <c:catch var ="catchException"> <% int x = 5/0;%> </c:catch> <c:if test = "${catchException != null}"> <p>异常为 : ${catchException} <br /> 发生了异常: ${catchException.message}</p> </c:if> </body> </html>

以上实例运行结果:

异常为 : java.lang.ArithmeticException: / by zero 发生了异常: / by zero <c:if> 与我们在一般程序中用的if一样

<c:if>标签判断表达式的值,如果表达式的值为 true 则执行其主体内容。

语法格式

<c:if test="<boolean>" var="<string>" scope="<string>"> ... </c:if>

属性

<c:if>标签有如下属性:

属性 描述 是否必要 默认值 test 条件 是 无 var 用于存储条件结果的变量 否 无 scope var属性的作用域 否 page

演示实例

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:if 标签实例</title> </head> <body> <c:set var="salary" scope="session" value="${2000*2}"/> <c:if test="${salary > 2000}"> <p>我的工资为: <c:out value="${salary}"/><p> </c:if> </body> </html>

运行结果如下:

我的工资为: 4000 <c:choose> 本身只当做<c:when>和<c:otherwise>的父标签

<c:when> <c:choose>的子标签,用来判断条件是否成立

<c:otherwise> <c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行

<c:choose>标签与Java switch语句的功能一样,用于在众多选项中做出选择。

switch语句中有case,而<c:choose>标签中对应有<c:when>,switch语句中有default,而<c:choose>标签中有<c:otherwise>。

语法格式

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

属性

<c:choose>标签没有属性。 <c:when>标签只有一个属性,在下表中有给出。 <c:otherwise>标签没有属性。

<c:when>标签的属性如下:

属性 描述 是否必要 默认值 test 条件 是 无

实例演示

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:choose 标签实例</title> </head> <body> <c:set var="salary" scope="session" value="${2000*2}"/> <p>你的工资为 : <c:out value="${salary}"/></p> <c:choose> <c:when test="${salary <= 0}"> 太惨了。 </c:when> <c:when test="${salary > 1000}"> 不错的薪水,还能生活。 </c:when> <c:otherwise> 什么都没有。 </c:otherwise> </c:choose> </body> </html>

运行结果如下:

你的工资为 : 4000 不错的薪水,还能生活。

<c:import> 检索一个绝对或相对 URL,然后将其内容暴露给页面

<c:import>标签提供了所有<jsp:include>行为标签所具有的功能,同时也允许包含绝对URL。

举例来说,使用<c:import>标签可以包含一个FTP服务器中不同的网页内容。

语法格式

<c:import url="<string>" var="<string>" scope="<string>" varRender="<string>" context="<string>" charEncoding="<string>"/>

属性

<c:import>标签有如下属性:

属性 描述 是否必要 默认值 url 待导入资源的URL,可以是相对路径和绝对路径,并且可以导入其他主机资源 是 无 context 当使用相对路径访问外部context资源时,context指定了这个资源的名字。 否 当前应用程序 charEncoding 所引入的数据的字符编码集 否 ISO-8859-1 var 用于存储所引入的文本的变量 否 无 scope var属性的作用域 否 page varReader 可选的用于提供java.io.Reader对象的变量 否 无

实例演示

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:import 标签实例</title> </head> <body> <c:import var="data" url="http://www.runoob.com"/> <c:out value="${data}"/> </body> </html>

以上程序将会打印http://www.runoob.com"页面的源代码,您可以自己动手尝试一下。

<c:forEach> 基础迭代标签,接受多种集合类型 <c:forTokens> 根据指定的分隔符来分隔内容并迭代输出

相比而言,<c:forEach>标签是更加通用的标签,因为它迭代一个集合中的对象。

<c:forTokens>标签通过指定分隔符将字符串分隔为一个数组然后迭代它们。


forEach 语法格式

<c:forEach items="<object>" begin="<int>" end="<int>" step="<int>" var="<string>" varStatus="<string>"> ...

forTokens 语法格式

<c:forTokens items="<string>" delims="<string>" begin="<int>" end="<int>" step="<int>" var="<string>" varStatus="<string>">

属性

<c:forEach>标签有如下属性:

属性 描述 是否必要 默认值 items 要被循环的信息 否 无 begin 开始的元素(0=第一个元素,1=第二个元素) 否 0 end 最后一个元素(0=第一个元素,1=第二个元素) 否 Last element step 每一次迭代的步长 否 1 var 代表当前条目的变量名称 否 无 varStatus 代表循环状态的变量名称 否 无

<c:forTokens>标签与<c:forEach>标签有相似的属性,不过<c:forTokens>还有另一个属性:

属性 描述 是否必要 默认值 delims 分隔符 是 无

<c:forEach>实例演示

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:forEach 标签实例</title> </head> <body> <c:forEach var="i" begin="1" end="5"> Item <c:out value="${i}"/><p> </c:forEach> </body> </html>

运行结果如下:

Item 1 Item 2 Item 3 Item 4 Item 5

<c:forTokens>演示实例

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:forTokens 标签实例</title> </head> <body> <c:forTokens items="google,runoob,taobao" delims="," var="name"> <c:out value="${name}"/><p> </c:forTokens> </body> </html>

运行结果如下:

google runoob taobao <c:param> 用来给包含或重定向的页面传递参数

<c:param>标签用于在<c:url>标签中指定参数,而且与URL编码相关。

在<c:param>标签内,name属性表明参数的名称,value属性表明参数的值。

语法格式

<c:param name="<string>" value="<string>"/>

属性

<c:param>标签有如下属性:

属性 描述 是否必要 默认值 name URL中要设置的参数的名称 是 无 value 参数的值 否 Body

程序示例

如果想要向<c:import>标签中传递参数,需要先使用<c:url>标签来创建URL:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:forTokens 标签实例</title> </head> <body> <h1><c:param> 实例</h1> <c:url var="myURL" value="main.jsp"> <c:param name="name" value="Runoob"/> <c:param name="url" value="www.runoob.com"/> </c:url> <a href="/<c:out value="${myURL}"/>"> 使用 <c:param> 为指定URL发送两个参数。</a> </body> </html>

通过浏览器访问以上页面,然后查看源代码,显示如下所示:

<c:redirect> 重定向至一个新的URL.

<c:redirect>标签通过自动重写URL来将浏览器重定向至一个新的URL,它提供内容相关的URL,并且支持c:param标签。

语法格式

<c:redirect url="<string>" context="<string>"/>

属性

c:redirect标签有如下属性:

属性 描述 是否必要 默认值 url 目标URL 是 无 context 紧接着一个本地网络应用程序的名称 否 当前应用程序

实例演示

如果你需要向 <c:import> 标签传递参数, 请先用 <c:url> 标签来创建URL地址,如下所示:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:redirect 标签实例</title> </head> <body> <c:redirect url="http://www.runoob.com"/> </body> </html>

浏览器打开以上页面将跳转至 http://www.runoob.com。

<c:url> 使用可选的查询参数来创造一个URL

<c:url>标签将URL格式化为一个字符串,然后存储在一个变量中。

这个标签在需要的时候会自动重写URL。

var属性用于存储格式化后的URL。

<c:url>标签只是用于调用response.encodeURL()方法的一种可选的方法。它真正的优势在于提供了合适的URL编码,包括<c:param>中指定的参数。

语法格式

<c:url var="<string>" scope="<string>" value="<string>" context="<string>"/>

属性

<c:url>标签有如下属性:

属性 描述 是否必要 默认值 value 基础URL 是 无 context 本地网络应用程序的名称 否 当前应用程序 var 代表URL的变量名 否 Print to page scope var属性的作用域 否 Page

实例演示

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <html> <head> <title>c:url 标签实例</title> </head> <body> <h1><c:url>实例 Demo</h1> <a href="<c:url value="http://www.runoob.com"/>"> 这个链接通过 <c:url> 标签生成。 </a> </body> </html>

通过浏览器访问以上页面,然后查看源代码,显示如下所示:

转载请注明原文地址: https://www.6miu.com/read-83334.html

最新回复(0)