JSTL标签库--核心标签库

->JSTL的使用和EL表达式是分不开的

->JSTL标签库分为5类

  1.核心标签库(这里只介绍该标签库)

  2.I18N格式化标签库

  3.SQL标签库

  4.XML标签库

  5.函数标签库

->核心标签库氛围4种标签

  1.表达式控制标签:out, set, remove, catch

  2.流程控制标签:if, choose, when, otherwise

  3.循环标签库:forEach, forTokens

  4.URL标签库:import, url, redirect

->核心标签库引入代码

  <%@ taglib perfix="c" uri="http://java.sun.com/jsp/jstl/core" %>

-><c:out>标签:用来显示数据对象(字符串或表达式)

  Java语言:<% out.print("字符串") %>,<%= 表达式 %>

  标签语言:<c:out value="字符串" />,<c:out value="表达式" />

  两种语法:<c:out value="要输出的对象" default="默认值" escapeXml="true | false" />

       <c:out value="要输出的对象" escapeXml="true | false" >默认值</c:out>

  -value:指定要输出的对象

  -escapeXml:设定是否转义特定字符,默认为true,不转义,反之false为转义

  -default:当El表达式为null时(注意null与空的区别),会显示默认值

-><c:set>标签:将变量值存储与JSP作用域范围中或JavaBean属性中

  四种语法:<c:set scope="page | request | session | application" var="name1" value="value1" />

       <c:set scope="page | request | session | application" var="name2">value2</c:set>

       <c:set target="JavaBean" property="name3" value="value3" />

       <c:set target="JavaBean" property="name4">value4</c:set>

  -前两种含义:把变量名为"name1","name2"的值为"value1","value2"的变量存储在指定的scope作用范围内

  -后两种含义:把"value3","value4"赋值给JavaBean对象的"name3","name4"属性

-><c:remove>标签:从指定的JSP范围内移除指定的变量

  <c:remove var="变量名" scope="page | request | session | application" />

-><c:catch>标签:用来处理可能发生异常的代码,并将异常信息存储,主要用于标签语言中产生的异常

  <c:catch var="name1" >容易产生异常的代码</c:catch>

  -var:定义存储错误信息的变量名,可以省略,只不过无法输出错误信息

-><c:if>标签:与java语言中的if作用相同,实现条件控制

  语法:<c:if test="conditions" var="name" scope="page | request | session | application">内容</c:if>

  -test:存放判断条件,一般用EL表达式编写

  -var:用来存放判断的结果类型:true | false

  -scope:作用范围

-><c:choose>,<c:when>和<c:otherwise>标签:通常一起使用,类比java雨中的if...else...

  语法:<c:choose>

      <c:when test="condition">//业务逻辑</c:when>

      <c:when test="condition">//业务逻辑</c:when>

      ...

      <c:otherwise>//业务逻辑</c:otherwise>

     </c:choose>

-><c:forEach>标签:根据循环条件实现循环遍历

  语法:<c:forEach var="name" items="object" begin="begin" end="end" step="step" varStatus="statusName">内容</c:forEach>

  -var:设定变量名用于存储循环便利出的元素

  -items:指定要遍历的对象

  -begin,end,step:设定遍历起点,终点和步长

  -varStatus:设定变量名用于存放元素信息,信息状态如下表:

属性名 类型 说明
index int 当前循环的索引值
count int 循环的次数
first boolean 是否为第一个位置
last boolean 是否为最后一个位置

-><c:forTokens>标签:该标签用于浏览字符串,并根据指定字符串进行截取

  语法:<c:forTokens items="Object" delims="character" var="name" begin="begin" end="end" step="step" varStatus="statusName">//输出内容</c:forTokens>

  -items:指定被迭代的字符串

  -delims:指定使用的分隔符

  -var:定义用来存储遍历出来元素的变量

  -begin,end,step:指定遍历开始,结束的位置和步长

  -varStatus:与forEach中的varStatus作用相同

-><c:import>标签:该标签可以把其他静态或动态文件包含到本JSP页面(可包含其他web应用中的文件,甚至是网络上的资源)

  语法:<c:import url="url" context="context" var="name" scope="page | request | session | application" varReader="name" charEncoding="encoding">//内容</c:import>

  -url:被导入资源的URL路径

  -context:当使用相对路径方法指定外部文件时,这个属性指定的是外在文件的名称

  -var:以String类型存入被包含文件的内容

  -scop:作用范围

  -charEncoding:被导入文件的编码格式

  -varReader:以Reader类型存储被包含文件的内容

-><c:redirect>标签:用来实现请求的重定向,与<jsp:redirect>类似

  两种语法:<c:redirect url="url" context="context" />

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

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

      </c:redirect>

-><c:url>标签:用来重写url地址

  两种语法:<c:url value="value" context="context" var="name" />

       <c:url value="value" context="context" var="name">

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

       </c:url>

原文地址:https://www.cnblogs.com/52xuanxuan/p/5996587.html