jstl 标签库
来源:互联网 发布:单片机语言是什么语言 编辑:程序博客网 时间:2024/05/18 17:59
一、c标签
1、引入标签库
- <%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core”%>
2、out输出标签
<c:out name="value" //要输出的表达式 [escapeXml="true|false"] //特殊字符是否转换为实体码,如>转换为gt [default="defaultValue"] //默认值/>
如果要输出的字符串中包含一段代alert的js脚本,如果直接用el表达式输出的话浏览器会直接执行这个js脚本,这显然是不对的因为破坏了页面结构;那么想要正确输出的话就可以使用c:out标签。
3、set设置标签
- 将value值设置到javabean对象具体属性上或者map中,或使用自定义变量保存。
<c:set value="value"//设置的值 var="varname"//保存value值的变量名 [scope="page|request|session|application"]//存储范围 [target=""]//value值要设置到的javabean对象或者map对象,必须是el表达式 [property=""]//javabean属性名或map的key值,与target配合使用/>
4、remove标签
- 删除指定范围内的变量。
<c:remove var="varName" scope="page|request|session|application"/>
5、逻辑标签
<c:if test="el表达式" var="varName"//将test结果保存到var变量中以便后续使用 [scope="page|request|session|application"]/><c:if test="el表达式" [var="varName"] [scope="page|request|session|application"]> body content</c:if><c:choose> <c:when test="el表达式1"> body content1 <c:when/> <c:when test="el表达式2"> body content1 <c:when/> .... <c:otherwise> body content3 </c:otherwise></c:choose>
6、forEach遍历标签
<c:forEach items="collection"//被遍历的集合 [var="varName"]//当前元素变量名 [varStatus="name"]//包含循环状态的一些信息 [begin=""]//循环起始索引,默认是0 [end=""]//循环结束索引,模式是最后一个元素索引 [step=""]>//每次迭代推进的长度(步长),默认是1 body content</c:forEach><c:forEach var="item" items="${list}" varStatus="ind" begin="0" end="10" step="2"> ${item} 输出当前元素 ${item.name}输出当前元素的name属性(如果当前元素是个对象) ${ind.index } 索引 ${ind.count }已经迭代的数量 ${ind.current }当前迭代对象 ${ind.first }是否第一个元素 ${ind.last }是否最后一个元素</c:forEach>
6.1、foreach中items属性支持的集合
- .java.util.Collection:调用iterator()来获得的元素。
- java.util.Map:通过java.util.Map.Entry所获得的实例。
- java.util.Iterator:迭代器。
- java.util.Enumeration:枚举。
- 数组。
- javax.servlet.jsp.jstl.sql.Result:SQL查询所获得的行。
7、forTokens标签
- 用户遍历以特定分隔符进行分割的字符串。
<c:forTokens items="string"//要被分割的字符串 delims=""//分隔符 [var="varName"]//迭代的当前元素 [varStatus=""]//包含循环状态的一些信息 [begin=""]//循环起始索引,默认是0 [end=""]//循环结束索引,模式是最后一个元素索引 [step=""]>//每次迭代推进的长度(步长),默认是1 body content</c:forTokens>
8、url标签
- 输出处理过后的url。
<c:url value="url" //要处理的url [context=""]//valueurl前面的上下文名称 [var=""]//处理后的路径存储到哪个变量名中 [scope="page|request|session|application"]//存储范围/>
9、redirect标签
<c:redirect url="url" //需要重定向的地址 context=""//url前面的上下文名称/>
二、fn函数
1、引入标签库
- <%@ taglib prefix=”fn” uri=”http://java.sun.com/jsp/jstl/functions”%>
2、函数
${fn:trim(" hello word ")} //删除字符串开头和结尾的空白字符${fn:length(string|list)} //返回字符串或列表的长度${fn:subString(source, beginindex, endindex)} //返回source字符串中beginindex到endindex索引位置的字符串${fn:subStringAfter(source, target) } //返回target字符串在source字符串中第一次出现位置的后面的所有字符串${fn:subStringBefore(source, target)} //返回target字符串在source字符串中第一次出现位置的前面的所有字符串${fn:toLowerCase(source) } //将字符串转换为小写形式${fn:toUpperCase(source)} //将字符串转换为大写形式${fn:startsWith(source, target)} //测试source字符串中是否以target字符串开始。${fn:split(source, ",")} //将source字符串根据指定的分隔符进行分割并返回一个数组,一般配合迭代器使用${fn:replace(source, target, comment)} //将source字符串中出现的所有target字符串替换为comment字符串${fn:join(array, ",")} //将数组元素以指定的分隔符连接成一个字符串${fn:indexOf(source, target)} //查找target字符串在source字符串中第一次出现的索引值${fn:escapeXml("<>ddd")} //将特殊符号转换为实体表示形式${fn:endsWith(source, target)} //测试source字符串是否以target字符串结尾${fn:contains(source, target)} //测试source串中是否包含target串${fn:containsIgnoreCase(source, target)} //测试source串中是否包含target串
三、fmt标签
1、引入标签库
- <%@ taglib prefix=”fmt” uri=”http://java.sun.com/jsp/jstl/fmt”%>
2、formatNumber标签
- 数字格式化标签,可以格式化为number、currency、percent 显示样式。
<fmt:formatNumber value="numericValue"//需要被格式化的字符串或数字 [type="number|currency|percent"]//要格式化的目标类型 [pattern=""]//自定义格式 [currencyCode="CAD|CNY|EUR|JPY|GBP|USD"]//货币编码,CAD:加拿大元,CNY:人民币,EUR:欧元,JPY:日元,GBP:英镑,USD:美元 [currencySymbol=""]//货币符号,例如$、¥ [groupingUsed="true|false"]//输出结果中是否包含组分隔符 [maxIntegerDigits=""]//整数部分最多几位数字 [minIntegerDigits=""]//整数部分最少几位数字 [maxFractionDigits=""]//小数部分最多几位数字 [minFractionDigits=""]//小数部分最少几位数字 [var=""]//输出结果存储到指定变量的名称 [scope="page|request|session|application"]//var的存储范围/>
2.1 、formatNumber示例
3 、formatDate标签
- 将日期对象格式化为字符串形式。
<fmt:formatDate value="date"//需要被格式化的日期或时间 [type="time|date|both"]//格式的是日期、时间、或者两者 [dateStyle="default|short|medium|long|full"]//预定义日期格式 [timeStyle="default|short|medium|long|full"]//预定义时间格式 [pattern=""]//自定义格式 [timeZone=""]//定义用于显示时间的时区 [var=""]//格式化后的值存储到变量的变量名称 [scope="page|request|session|application"]//var变量存储范围/>
3.1、formatDate示例
<fmt:formatDate value="${isoDate}" type="both"/>//输出: 2004-5-31 23:59:59 <fmt:formatDate value="${isoDate}" type="date"/>//输出2004-4-1 <fmt:formatDate value="${isoDate}" type="time"/>//输出: 23:59:59 <fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/>//输出: 2004-5-31 <fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/>//输出: 04-5-31 <fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/>//输出: 2004-5-31 <fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/>//输出: 2004年5月31日 <fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/>//输出: 2004年5月31日 星期一 <fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/>//输出: 23:59:59 <fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/>//输出: 下午11:59 <fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/>//输出: 23:59:59 <fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/>//输出: 下午11时59分59秒 <fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/>//输出: 下午11时59分59秒 CDT <fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/>//输出: 星期四, 四月 1, 2004 13:30:00 -0600 <fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz"/>//输出: 31 五月 04, 11:59:59 下午 中央夏令时
3.2、Patter说明
d: 月中的某一天。一位数的日期没有前导零。 dd: 月中的某一天。一位数的日期有一个前导零。 ddd: 周中某天的缩写名称,在 AbbreviatedDayNames 中定义。 dddd:周中某天的完整名称,在 DayNames 中定义。 M: 月份数字。一位数的月份没有前导零。 MM: 月份数字。一位数的月份有一个前导零。 MMM: 月份的缩写名称,在 AbbreviatedMonthNames 中定义。 MMMM:月份的完整名称,在 MonthNames 中定义。 y: 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。 yy: 不包含纪元的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。 yyyy:包括纪元的四位数的年份。 gg: 时期或纪元。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。 h: 2 小时制的小时。一位数的小时数没有前导零。 hh: 12 小时制的小时。一位数的小时数有前导零。 H: 24 小时制的小时。一位数的小时数没有前导零。 HH: 24 小时制的小时。一位数的小时数有前导零。 m: 分钟、一位数的分钟数没有前导零。 mm: 分钟、一位数的分钟数有一个前导零。 s: 秒、一位数的秒数没有前导零。 ss: 秒、一位数的秒数有一个前导零。 h: 小时,从1到12,范围:01:00 AM~12:59AMH: 小时,从0到23 ,范围:00:00 AM~23:59AM
4、parseNumber标签
- 用于将以字符串表示的数字、货币、百分比解析成数字。
<fmt:parseNumber value="numericValue"//被解析的值 [type="number|currency|percent"]//被解析成什么类型 [pattern=""] [parseLocal=""] [integerOnly="true|false"] [var=""] [scope="page|request|session|application"]/>
5、parseDate标签
- 将字符串格式的日期以区分地域的格式转换为对应的日期对象。
<fmt:parseDate value="dateString" [type="time|date|both"] [dateStyle="default|short|medium|long|full"] [timeStyle="default|short|medium|long|full"] [pattern=""] [timeZone=""] [parseLocale=""] [var=""] [scope="page|request|session|application"]
0 0
- 【JSTL】JSTL 标签库
- 【JSTL】标准标签库JSTL
- JSTL&EL JSTL标签库
- JSTL 核心标签库标签
- JSTL 核心标签库标签
- JSTL标签库,自定义标签
- JSTL标签库 fn标签
- JSTL标签库 fmt标签
- jstl库标签核心标签
- JSTL标签库:out标签
- JSTL 标签 ------ 核心标签库
- JSTL 标签库介绍
- JSTL标签库
- JSTL标准标签库
- JSTL标准标签库
- JSTL核心标签库
- jstl 函数标签库
- JSTL标签库
- activemq中的订阅模式以及消息时长和确认机制
- scala学习之路:9.Override重写字段或者方法
- eclipse 显示setting目录
- iOS日历中给一个事件添加多个提醒
- java线程传统VS现代【2】
- jstl 标签库
- [Splay] BZOJ 3729 Gty的游戏
- 使用AddressBook来获取通讯录消息
- Android 线程通信
- Python学习之分布式进程初探(1)
- Programming Exercise 7:K-means Clustering and Principal Component Analysis 第一部分
- 设置安卓背景图片
- 第三周项目-输出星号图
- 【java】异常处理