JSTL标签库学习笔记
来源:互联网 发布:夏宽大师 淘宝 编辑:程序博客网 时间:2024/05/18 01:30
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>等同于增强forfor(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
阅读全文
0 0
- JSTL标签库学习笔记
- JSTL标签库学习笔记
- JSTL标签学习笔记
- 学习笔记-JSTL标签库--C SQL
- JSTL标签库学习笔记 一、概述
- JSTL核心标签库学习笔记
- JSTL标签库学习笔记 一、概述
- JavaWeb(JSTL标签库学习笔记)
- JSTL标签库学习笔记 七、SQL标签库
- JSTL标签库学习笔记 八、XML标签库
- 学习笔记之 jstl标签库 与 自定义标签库
- 学习笔记之 jstl标签库 与 自定义标签库
- JSTL标签库学习笔记 七、SQL标签库
- JSTL标签库学习笔记 八、XML标签库
- jstl fmt 标签学习笔记
- JSTL标签库学习
- JSTL标签库学习
- Java 学习笔记13:Spring JSTL 核心标签库 使用
- SVN代码统计工具——statsvn
- java集合List的功能
- nslookup在静态编译的busybox上如何正常解析域名
- Intellij idea 功能简介(三)主页设置及功能简介
- java 批处理sql语句
- JSTL标签库学习笔记
- java concurrent
- 【云星数据---Apache Flink实战系列(精品版)】:Apache Flink批处理API详解与编程实战026--DateSet实用API详解026
- 地图投影和矢量瓦片详解
- SpringMvc之值获取Session的两种方法-yellowcong
- 怎样获取form-data方式POST的数据
- bitnami redmine3.2.0插件开发
- js获取当前时间是本年第几周
- 设计模式入门篇——EIT造型