一 概述

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中,紧凑排列,不加“,”,不留空格。

最新文章

  1. Apache Spark源码剖析
  2. JavaScript中字符串去掉特殊字符和转义字符
  3. OAF_开发系列16_实现OAF与XML Publisher整合
  4. ckeditor简单的演示
  5. Web交互设计优化的简易check list
  6. jdbc读取数据库表
  7. Android(java)学习笔记114:LayoutInflater和findViewById
  8. 329. Longest Increasing Path in a Matrix
  9. svo的一些博客解析
  10. [POJ 2588]--Snakes(并查集)
  11. Oracle的网络监听配置
  12. quartz一次简单应用经历
  13. linux 用户管理命令
  14. &lt;--------------------------常用的API方法------------------------------&gt;
  15. java第三节 面向对象(上)
  16. PostgreSQL判断是否为空coalesce
  17. 自学QT之qss教程
  18. Oracle表明明存在SQL查询数据提示表不存在异常
  19. 关于python课程的想法和建议。
  20. appium +uiautomator2 遇到 deviceName can&#39;t be blank 提示的解决

热门文章

  1. Centos7下安装CUDA
  2. Swagger2使用记录
  3. (C/C++) 指向函數的指標
  4. 从setTimeout谈js运行机制
  5. 《LeetBook》LeetCode题解(2):Add Two Numbers [M]
  6. java设计模式 --------单利模式
  7. windows下python2.7版本numpy,Scipy,matplotlib,sklearn安装
  8. 10种jquery选择器操作详解(转)
  9. 203_Removed-Linked-List-Elements
  10. Bitcoin交易及验证