美文网首页
JSTL标签

JSTL标签

作者: 泡沫_0889 | 来源:发表于2019-04-12 20:45 被阅读0次

     JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。

根据功能可以分为五大类:

1、核心标签

2、格式化标签

3、SQL 标签

4、XML 标签

5、JSTL 函数

一、核心标签

 1、<c:out />标签会自动忽略XML标记字符,所以它们不会被当做标签来处理。标签用来显示一个表达式的结果,与<%= %>作用相似,它们的区别就是<c:out>标签可以直接通过"."操作符来访问属性。

<c:out>标签有如下属性:

 scope 的作用域大小依次为:

application > session > request > page(默认)

jsp 处理变量的作用域先后依次为:

page(默认) -> request -> session -> application

2、<c:set>标签用于设置变量值和对象属性。

3、<c:remove>标签用于移除一个变量。

4、<c:catch> 标签主要用来处理产生错误的异常状况,并且将错误信息储存起来。

5、<c:choose>标签与Java switch语句的功能一样,用于在众多选项中做出选择。

switch语句中有case,而<c:choose>标签中对应有<c:when>,switch语句中有default,而<c:choose>标签中有<c:otherwise>。

<c:when>标签的属性如下:

6、<c:import>标签提供了所有<jsp:include>行为标签所具有的功能,同时也允许包含绝对URL。

<c:import>标签有如下属性:

7、<c:forEach>标签用作迭代一个集合中的对象。

语法格式:

<c:forTokens

    items="<string>"

    delims="<string>"

    begin="<int>"

    end="<int>"

    step="<int>"

    var="<string>"

    varStatus="<string>">

<c:forEach>标签有如下属性:

c:forEach varStatus 属性

 current: 当前这次迭代的(集合中的)项

 index: 当前这次迭代从 0 开始的迭代索引

 count: 当前这次迭代从 1 开始的迭代计数

 first: 用来表明当前这轮迭代是否为第一次迭代的标志

 last: 用来表明当前这轮迭代是否为最后一次迭代的标志

 begin: 属性值

 end: 属性值

 step: 属性值

例如:

<c:foreach  items="${sessionScope.userList}"  var="userItem"  begin="1"  end="10"  step="3"  varStatus="userStatus"> XXX </c:foreach>

实例解读: 对 session 对象存储的 userList 集合对象进行遍历,每次访问的项暂时存储在 userItem 变量中,从索引 1 开始至索引 10 进行访问,但不是依次访问,每隔 3 个元素访问一次。每次访问项的状态相关值由 userStatus 对象暂存。

<c:foreach> 的 varStatus 属性暂存项的相关状态属性,可由 EL 表达式引用。

${userStatus.index} 此项的索引,从0开始

${userStatus.count} 此项的计数序号,从1开始

${userStatus.first} 此项是否是第一项,布尔值

${userStatus.last} 此项是否是最后一项,布尔值

${userStatus.begin} 此次迭代的起始索引,对应<c:foreach>中begin属性值

${userStatus.end} 此次迭代的终止索引,对应<c:foreach>中end属性值

${userStatus.step} 此次迭代的跳跃步伐,对应<c:foreach>中step属性值 

8、<c:forTokens>标签通过指定分隔符将字符串分隔为一个数组然后迭代它们。

<c:forTokens

    items="<string>"

    delims="<string>"

    begin="<int>"

    end="<int>"

    step="<int>"

    var="<string>"

    varStatus="<string>">

9、<c:url>标签将URL格式化为一个字符串,然后存储在一个变量中。

这个标签在需要的时候会自动重写URL。

var属性用于存储格式化后的URL。

<c:url>标签只是用于调用response.encodeURL()方法的一种可选的方法。它真正的优势在于提供了合适的URL编码,包括<c:param>中指定的参数。

<c:url>标签有如下属性:

10、<c:param>标签用于在<c:url>标签中指定参数,而且与URL编码相关。

在<c:param>标签内,name属性表明参数的名称,value属性表明参数的值。

语法格式:

<c:param name="<string>" value="<string>"/>

<c:param>标签有如下属性:

11、<c:redirect>标签通过自动重写URL来将浏览器重定向至一个新的URL,它提供内容相关的URL,并且支持c:param标签。

c:redirect标签有如下属性:

二、格式化标签

JSTL格式化标签用来格式化并输出文本、日期、时间、数字。引用格式化标签库的语法如下:

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

1、<fmt:formatNumber>标签,<fmt:formatNumber>标签用于格式化数字,百分比,货币。

语法格式:

<fmt:formatNumber

  value="<string>"

  type="<string>"

  pattern="<string>"

  currencyCode="<string>"

  currencySymbol="<string>"

  groupingUsed="<string>"

  maxIntegerDigits="<string>"

  minIntegerDigits="<string>"

  maxFractionDigits="<string>"

  minFractionDigits="<string>"

  var="<string>"

  scope="<string>"/>

fmt:formatNumber>标签有如下属性:

如果type属性为percent或number,那么您就可以使用其它几个格式化数字属性。maxIntegerDigits属性和minIntegerDigits属性允许您指定整数的长度。若实际数字超过了maxIntegerDigits所指定的最大值,则数字将会被截断。

有一些属性允许您指定小数点后的位数。minFractionalDigits属性和maxFractionalDigits属性允许您指定小数点后的位数。若实际的数字超出了所指定的范围,则这个数字会被截断。

数字分组可以用来在每三个数字中插入一个逗号。groupingIsUsed属性用来指定是否使用数字分组。当与minIntegerDigits属性一同使用时,就必须要很小心地来获取预期的结果了。

您或许会使用pattern属性。这个属性可以让您在对数字编码时包含指定的字符。接下来的表格中列出了这些字符。

2、<fmt:formatDate>标签用于使用不同的方式格式化日期。

语法格式

语法格式

<fmt:formatDate

  value="<string>"

  type="<string>"

  dateStyle="<string>"

  timeStyle="<string>"

  pattern="<string>"

  timeZone="<string>"

  var="<string>"

  scope="<string>"/>

<fmt:formatDate>标签有如下属性:

<fmt:formatDate> 标签格式模式:

三、JSTL函数

JSTL包含一系列标准函数,大部分是通用的字符串处理函数。引用JSTL函数库的语法如下:

<%@ taglib prefix="fn"uri="http://java.sun.com/jsp/jstl/functions" %>

1、fn:contains()函数用于确定一个字符串是否包含指定的子串

<c:if test="${fn:contains(<原始字符串>, <要查找的子字符串>)}">

...</c:if>

相关文章

  • JAVA Web学习(18)___第12章JSTL标签

    第12章JSTL标签 12.1 JSTL标签库简介 根据JSTL标签所提供的功能,可以将其分为5个类别。 核心标签...

  • 【JavaWeb】JSTL标签库

    JSTL标签库 JSTL标准标签库;JSTL用于简化JSP开发,提高代码的可读性与可维护性;JSTL由SUN(Or...

  • jstl标签库

    一、jstl标签库 jstl是apache对EL表达式的扩展(也就是说JSTL依赖EL),JSTL是标签语言。js...

  • 2018-10-06

    JSTL概念 JSTL(JavaServer Pages Standard Tag Library,JSP标准标签...

  • 2018-10-06

    JSTL概念 JSTL(JavaServer Pages Standard Tag Library,JSP标准标签...

  • 【Java】【JSTL】标准包

    JSTL (JavaServerPages Standard Tag Library)JSP标准标签库 JSTL的...

  • 5.Jsp标签

    1.Jsp标签 1.Jsp标签的作用 2. Jsp标签分类 3.Jsp内置标签 4.JSTL标签 5.JSTL使用...

  • 2018-11-03

    学习jstl的标签

  • JSTL标签

    JSTL标签 JSTL是JSP的标准标签库,开发者可以使用JSTL实现JSP页面中逻辑处理。如循环、判断等、在JS...

  • 【转】IDEA中使用JSTL

    出处:在Intellij Idea中使用JSTL标签库 如果直接用jstl标签会报错:org.apache.jas...

网友评论

      本文标题:JSTL标签

      本文链接:https://www.haomeiwen.com/subject/eswdtqtx.html