一 概述

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

JSTL总结摘要的更多相关文章

  1. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  2. java根据html生成摘要

    转自:http://java.freesion.com/article/48772295755/ 开发一个系统,需要用到这个,根据html生成你指定多少位的摘要 package com.chendao ...

  3. Atitit HTTP 认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结

    Atitit HTTP认证机制基本验证 (Basic Authentication) 和摘要验证 (Digest Authentication)attilax总结 1.1. 最广泛使用的是基本验证 ( ...

  4. 2、摘要函数——MD2/MD4/MD5数字签名

    摘要是用来防止数据被私自改动的方法,其中用到的函数叫做摘要函数.这些函数的输入可以是任意大小的信息,但是输出是大小固定的摘要.摘要有个重要的特性:如果改变了输入信息的任何内容,即使改变一位,输出也将发 ...

  5. 前端学HTTP之摘要认证

    前面的话 上一篇介绍的基本认证便捷灵活,但极不安全.用户名和密码都是以明文形式传送的,也没有采取任何措施防止对报文的篡改.安全使用基本认证的唯一方式就是将其与SSL配合使用 摘要认证与基本认证兼容,但 ...

  6. JSTL标签 参考手册

    前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多 ...

  7. JavaWeb_day08_EL JSTL

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day08 EL JSTL EL表达式 语法:${} ...

  8. java web学习总结(三十) -------------------JSTL表达式

    一.JSTL标签库介绍 JSTL标签库的使用是为弥补html标签的不足,规范自定义标签的使用而诞生的.使用JSLT标签的目的就是不希望在jsp页面中出现java逻辑代码 二.JSTL标签库的分类 核心 ...

  9. Java 消息摘要 散列 MD5 SHA

    package xxx.common.util; import java.math.BigInteger; import java.security.MessageDigest; import jav ...

随机推荐

  1. Python笔记之字典循环

    Python笔记之字典循环   1.问题 Python是一门比较好入门的编程语言,但是入门简单,当然坑也是有的,今天就来介绍一个我遇到的坑吧,也是很简单的一个,就是当时脑子有点转不过弯来了. 先看代码 ...

  2. QuantLib 金融计算——基本组件之 DateGeneration 类

    目录 QuantLib 金融计算--基本组件之 DateGeneration 类 QuantLib 金融计算--基本组件之 DateGeneration 类 许多产品的估值依赖于对未来现金流的分析,因 ...

  3. 【SpringBoot+Mybatis+thymeleaf报错】Error resolving template "XXX", template might not exist or might not be accessible by any of the configured

    解决方法一: 原因:在使用springboot的过程中,如果使用thymeleaf作为模板文件,则要求HTML格式必须为严格的html5格式,必须有结束标签,否则会报错. 在application.y ...

  4. localstrage、cookie、session等跨域和跨页面监听更新问题

    localstrage.cookie.session等跨域和跨页面监听更新问题

  5. EDEM 2018 + Fluent 19.0耦合

    具体步骤参考流沙的文章即可,如果python版本较高,可能有个地方需要小小的改动一下: tools文件夹下的compile_lib_edem_coupling.py文件中,导入模块有个地方需要修改 其 ...

  6. python全栈开发_day15_函数回调和模块

    一:函数回调 def a(fn=None): print("run1") if fn: fn() print("run 2") def b(): print(& ...

  7. JSP中使用JSTL表达式

    最近写web项目,为了使JSP代码美观好维护,决定采用EL&JSTL表达式.    EL表达式直接就可以用,但是JSTL表达式是属于apache的一个开源库,这个用起来就需要倒入一些jar包之 ...

  8. session_destroy()和session_unset()的理解

    session_destroy 是注销所有的session变量,并且结束session会话目前是删除当前用户对应的session文件以及释放session id值 ,但是但是 内存中的$_SESSIO ...

  9. 天猫消息盒子的CSS实现

    css: body,h2,h3,ul,p{margin:0;padding:0;font-size:12px;} li{list-style: none; } a{text-decoration: n ...

  10. DiagnosticFormatter

    关于这个类的继承体系如下: 1.DiagnosticFormatter类在com.sun.tools.javac.api包中,其定义如下: /** * Provides simple function ...