JSTL总结摘要

一 概述

1.什么是JSTL?

JSP Standard Taglib,一个定义了一系列标签的标签库,以取代在JSP页面中嵌套的java代码,经常与EL结合使用,使页面风格统一,维护方便。
JSTL标签都是成对出现的。

二 表达式标签

主要用于向作用域范围添加属性、获取属性、移除属性。作用范围从小到大依次为page<request<session<application,默认page。

  • <c:out var="expression"[default="]["scope=""]>:用于将表达式的值输出到JSP页面。
  • <c:set var="varName"value="value"[scope=""]>:向作用域范围添加属性。
  • <c:remove var="varName"[scope=""]>:用于删除指定作用域范围内的属性。
  • <c:catch var="">:用于捕获异常,并将异常存储在指定的属性中。

三 URL标签

  • <c:import url="url">:用于导入站内或者站外资源。
  • <c:url value=""[var=""][scope=""]>:生产一个url路径,用于赋值。
  • <c:redirect url="url">:页面重定向。
  • <c:param name=""value="">:用于在页面重定向时传递请求参数。

四 流程控制标签

1.条件判断标签

<c:if test="表达式"var="res"[scope=""]>标签体</c:if>

条件成立执行标签体。

2.条件选择标签

<c:choose>
     <c:when test="">标签体</c:when>
     <c:when test="">标签体</c:when>
      ...................
     <c:otherwise>标签体</c:otherwise>
</c:choose>

从多个条件中选择一个执行。

五 循环标签

1.简单循环标签

<c:forEach items="sup"var="sub"begin=""end=""step=""varStatus="">标签体</c:forEach>
  • items:需要遍历的对象,通常通过EL表达式获取。
  • var:当前遍历子对象,即被遍历对象的一个元素。
  • begin:遍历开始的索引位置。
  • end:遍历结束的索引位置。
  • step:每次遍历时采取的步数,即相邻两个遍历索引的差值。
  • varStatus:代表遍历状态的一个对象,通过该对象不仅可以判断当前遍历是否是第一次遍历,或者最后一次遍历,还可以获取当前索引值,遍历次数。

遍历Map集合:

<c:forEach items="map"var="entry">
      ${entry.key}=&{entry.value}
</c:forEach>

2.迭代标签

<c:forTokens items=""var=""delims=""begin=""end=""step=""varStatus="">标签体</c:forTokens>

先分割,后遍历,分割可以采用多个分隔符,多个分隔符统一定义在delims中,紧凑排列,不加“,”,不留空格。

原文地址:https://www.cnblogs.com/tonghun/p/7196377.html