JSTL概述

apache的东西,依赖于EL

使用jstl需要导入jstl.jar包

标签库

  • core 核心标签库
  • fmt 格式化标签库
  • sql 数据库标签库,过时
  • xml xml标签库,过时

JSTL标签库

四大标签库

  • core 核心库
  • fmt 格式化标签库
  • sql 数据库标签库,过时
  • xml xml标签库,过时

导入标签库

使用taglib命令

除了jsp的动作标签外,使用其他的第三方的标签库都需要导包

在jsp页面内导标签库

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

prefix 指定标签的前缀,这个前缀可以随便给值,但是大家都会在使用core标签是指定前缀为 c
uri 指定 标签库的uri ,他不一定是真实存在的网址

core标签库的常用标签

core –> c标签

out和set

remove

url

if

choose

forEach

out

* <c:out value="aaa"/>
* 输出字符串aaa
* <c:out value="${aaa}"/>
* 输出域属性aaa,其中与${aaa}相同
* <c:out value="${aaa}" default="xxx"/>
* 如果${aaa}不存在,那么输出xxx字符串如果${aaa}中包含特殊字符,那么转义它。这可以防止javascript攻击,添加escapeXml 之后就不能防止script攻击例如:<%request.setAttribute("xxx", "<script>alert('12345');</script>");%><c:out value="${xxx }" escapeXml="false"/>

set

创建域的属性

<c:set var="a" value="hello" />
* 在pageContext中添加name为a,value为hello的数据
<c:set var="b" value="hello" scope="session" />
* 在session中添加name为b,value为hello的数据,变量值可以为el表达式
* scope:域,默认为page,可选值为,page,request,session,application

remove

<c:remove var="a" />
* 删除所有域中的name为a的数据
* var: 变量名
* scope: 如果不给出scope,表示删除所有域中该名称变量,如果指定了,就只删除该域的变量

url

* value: 指定一个路径,他会在路径前面自动添加项目名。* <c:url value="/index.jsp" /> 他会输出/Test/index.jsp
*子标签:<c:param>,用来给url后面添加参数,例如:<c:url value="/index.jsp" ><c:param name="username" value="zhangsan" /><!--可以对参数进行url编码!!--></c:url>//结果为:/Test/index.jsp?username=%ED%2c%d
* 指定变量名,一旦添加了这个属性,那么url标签就不会再输出到页面,而是把生成的url保存到域中
* scope: 他与var一起使用,用来保存url。

if

if : 对应Java中的if语句<c:if test="布尔类型">..</c:if>

choose

 <c:choose><c:when test="${条件1}">a</c:when><c:when test="${条件2}">b</c:when><c:when test="${条件3}">c</c:when><c:otherwise>d</c:otherwise> //default</c:choose>

forEach

可以用来循环遍历数组,集合
还可以用来计数

//计数
<c:forEach var="i" begin="1" end = "10">${i}<br>
</c:forEach>
属性介绍:
* var 循环变量
* begin 设置循环变量初始值
* end 设置循环变量结束值
* step 设置步长,等同于 i++或者是i += 2,默认为1
用来输出数组和集合<%String[] strs = {"one", "two", "three", "four", "five"};request.setAttribute("strs", strs);%><c:forEach items="${requestScope.strs }" var ="str">${str } </c:forEach>等同于增强for
for(String str:strs){...
}属性:
* items: 指定要循环的对象,他可以是一个数组,或者是一个集合
* var: 把数组和集合中的每一个元素赋值个var指定的变量。
**注意:items中不能有空格,否则这个错误很难发现,既不能写为 items="${param.name } " **
**引号内是不能够有空格,el表达式中可有**
循环状态
可以使用varStatus来创建循环状态变量
属性:
* count 循环元素的个数
* index 循环元素的下标
* first 是否为第一个元素
* last 是否为最后一个元素
* current 当前元素
<c:forEach items="${requestScope.strs }"   var ="str" varStatus="vs">${vs.index }${vs.count }${vs.first }${vs.last }${vs.current} ${str } <br></c:forEach>

fmt标签库常用标签

格式化时间

 <%Date date = new Date();pageContext.setAttribute("date", date);%><fmt:formatDate value="${date }" pattern="yyyy-MM-dd HH:mm:ss"/>
属性介绍
* value 指定一个Date类型的变量
* pattern 用来指定输出的模板!例如:yyyy-MM-dd HH:mm:ss
<fmt:formatNumber value="${num }" pattern="0.000" />
// 取舍是四舍五入,不够为补 0
<fmt:formatNumber value="${num }" pattern="#.###" />
// 取舍时四舍五入, 不够不补位 0

JSTL标签库学习笔记相关推荐

  1. EL表达式和JSTL标签库学习笔记

    先说一些数据库的知识,在进行表的操作时,若有一对多的关系,则在建外键时应选择多的一方.如user和group的对应关系,应在一个user属于多少个group,而不是一个group有多少用户,虽然这样也 ...

  2. EL表达式与Jstl标签库学习

    一.EL表达式 1)概念:Expression Language(EL表达式),jsp文件内置的一种能简化代码的表达式,可供jsp文件对流转数据的读取. 2)作用:让 jsp 书写起来更加的方便.简化 ...

  3. java将xml中的标签名称转为小写_深入学习Java Web(七): JSTL标签库

    本文转自与博客园一杯凉茶的博客. 在之前我们学过在JSP页面上为了不使用脚本,所以我们有了JSP内置的行为.行为只能提供一小部分的功能,大多数的时候还是会用java脚本,接着就使用了EL表达式,基本上 ...

  4. javaweb学习总结(二十八)——JSTL标签库之核心标签

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

  5. java核心标签库,16.JSTL标签库(我的JavaEE笔记)

    主要内容:(工程el_example中6.jsp) 标签 标签 标签 标签 标签 标签 标签 标签 标签 JSTL标签库中包含核心标签库.国际化标签库.数据库标签.XML标签和JSTL函数(EL函数) ...

  6. spring mvc学习(37):JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)

    EL表达式和JSTL标签库: 在JSP页面代替java代码,便于编写 一.EL表达式 作用: ${} 简化脚本表达式 <%= %> j2ee1.4以前版本需指定<%@ page is ...

  7. Java Web - EL表达式和JSTL标签库

    在使用servlet和jsp的过程中,两者之间的数据流转是十分常见的,jsp实际上也是一种servlet,也就是两个servlet之间的数据流转,我们根据不同的使用场景选择使用,请求转发(在reque ...

  8. Java-Web JSTL标签库、自定义标签库和MVC设计模式

    目录 一.JSTL标签库 1.什么是JSTL 2.JSTL标签库 3.使用taglib指令导入标签库 4.core标签库常用标签 (1)out和set (2)remove (3)url (4)if ( ...

  9. 学会怎样使用Jsp 内置标签、jstl标签库及自定义标签

    学习jsp不得不学习jsp标签,一般来说,对于一个jsp开发者,可以理解为jsp页面中出现的java代码越少,对jsp的掌握就越好,而替换掉java代码的重要方式就是使用jsp标签.  jsp标签的分 ...

最新文章

  1. ​Python 3 新特性:类型注解——类似注释吧,反正解释器又不做校验
  2. TCP:传输控制协议简单讲解(八)
  3. WebService怎样在IIS上部署
  4. 道里云SDN云网络技术:使云能够“众筹”
  5. linux下编译yacc命令,Lex/Yacc的学习——《编译原理及实践》附录B tiny编译器源码在linux下编译实现...
  6. springboot配置手动提交_Spring Boot 入门教程 | 图文讲解
  7. Echarte柱状图文字位置
  8. 2018年中国人均GDP接近1万美元,这在全球处于什么样的水平?
  9. java 运行配置_JAVA运行环境配置
  10. ensp 移动主机搜索不到AP信道_有颜值更有才华,乘风破浪的天融信面板AP接受硬核实测...
  11. 动态表情与超链接制作
  12. OpenGL——EGL
  13. 辅流式沉淀池固体负荷计算方法_20000m3/d污水厂设计计算书
  14. mcgs odbc mysql_MCGS构建实时数据库.doc
  15. 华为隐藏鸿蒙,鸿蒙系统有隐私空间吗_华为鸿蒙系统有隐私空间吗
  16. android6.0官方镜像,安卓x86 6.0 iso下载
  17. Transformer拿下CV顶会大奖,微软亚研获ICCV 2021最佳论文
  18. 目标检测随笔1——目标检测简要综述
  19. python爬取淘宝淘女郎图片
  20. 网页富文本编辑器推荐

热门文章

  1. c语言中external,static关键字用法
  2. 2022-2028年中国水处理分离膜行业市场现状调研及市场需求潜力报告
  3. Go 知识点(08) — 对未初始化的 channel 进行读写操作
  4. vs2012下编码引起的一个神坑
  5. LeetCode简单题之删除某些元素后的数组均值
  6. 操作系统学习笔记 第二章:进程管理(王道考研)
  7. 快手推荐系统及 Redis 升级存储
  8. 微型三维图像传感器采用飞行时间技术
  9. 固件安全性—防止内存损坏和注入攻击
  10. git : 依赖: liberror-perl 但无法安装它