`

JSTL标签库

    博客分类:
  • jsp
阅读更多
核心库
以c开头的标签都是核心库里的。

使用库之前要引入库,格式为:
引入核心库:<%@  taglib prefix="c" uri = "http://java.sun.com/jsp/jstl/core"%>

<c:out>

<c:out>用于输出,格式为:
<c:out value="${hello}" />
注意:要想取scope里的值,value值必须要用el表达式,要不然直接打印value里的字符串。
上式等同于:${hello}。
<c:out>的另一个用法,格式为:
<c:out value="${hello}" default="123"/>
当hello不存在,返回为null,则会用缺省值如“123”。
而<c:out value="${hello}"/>123</c:out>于上式是等同的。

<c:set>

<c:set>用于声明一个变量,默认scope为page,当然也可以设置scope的值。
<c:set>格式为:
<c:set  value="123" var ="temp"/>
作用为:给变量temp赋值为123,并将temp放到默认的scope——page里,然后可以用 el表达式取${temp}

<c:remove>

<c:remove>用于删除一个变量
<c:remove>格式为:
<c:remove  var ="temp"/>
变量就不存在了。

<c:choose><c:when><c:otherwise>

<c:choose><c:when><c:otherwise>相当于if-else
使用格式为:
<c:choose>
<c:when  test="判断语句">
........
</c:when>
<c:otherwise>
.......
</c:otherwise>
</c:choose>
注:<c:choose>不能单独使用,必须和另外两个搭配使用。
<c:when>必须得在<c:otherwise>前面。
<c:when>可以有多个,而<c:otherwise>只能有一个。

<c:forEach>

用于循环输出
使用格式为:
<c:forEach  item="${userlist}" var="u"> //每个循环,都会将list里的值赋给变量u。
${userlist.name}<br/>
${userlist.password}<br/>
   </c:forEach>

另一种使用方法,格式为:
<c:forEach  item="${userlist}" var="u" begin="2" end="6" step="2"> 
${userlist.name}<br/>
${userlist.password}<br/>
   </c:forEach>
这样会打印userlist里第2,4,6个对象。

<c:forTokens>

用于处理逗号表达式
使用格式为:
先设一个值:request.setAttribute("tokens","1,2,3,4");
下面开始逗号表达式里的值:
<c:forTokens  item="tokens" delims ="," var="u">
${u}<br/>
   </c:forTokens>
输出结果为:1
2
3
4

<c:catch>

用于处理异常
使用格式为:
<c:catch var="e">
<%  Integer.parseInt("abc");  %>  //这句话会抛出一个异常
   </c:catch>
${e}  //打印出异常信息

<c:import>

相当于include,可以引入页面。
使用格式为:
<c:import url="http://localhost:8080/项目名/login.jsp" />
注:这里要完整路径。

格式化标签库

使用库之前要引入库,格式为:
引入格式化标签库:<%@  taglib prefix="fmt" uri = "http://java.sun.com/jsp/jstl/fmt"%>

格式化日期<fmt:formatDate>

使用格式为:
<fmt:formatDate  value="date">
[type="time|date|both"]
[dateStyle="default|short|medium|long|full"] //日期的各种模式
[timeStyle="default|short|medium|long|full"] //时间的各种模式
[pattern = "匹配模式"] //最常用的
[var ="变量名"]
[scope="page|request|session|application" /]
</fmt:formatDate>

格式化数字<fmt:formatNumber>

使用格式为:
<fmt:formatNumber  value="numberValue">
[type="number|currency(货币)|percent(百分比)"]
[pattern = "匹配模式"]
......
[var ="变量名"]
[scope="page|request|session|application" /]
</fmt:formatNumber>

函数库
函数只能用在EL表达式里,其他地方不能用。
使用库之前要引入库,格式为:
引入格式化标签库:<%@  taglib prefix="fn" uri = "http://java.sun.com/jsp/jstl/functions"%>
使用格式为:
先设置:request.setAttribute("hello","hello World");
调用函数:${fn:length(hello)};

用户也可以自己定义函数。
自定义函数库
1、定义类和方法(方法必须是public static)
2、编写自定义tld文件,并且将此文件放到WEB-INF或WEB-INF任意子目录下
3、在jsp中采用taglib指令引入自定义函数库
4、采用 前缀+冒号+函数名 调用即可 用于循环输出
分享到:
评论

相关推荐

    JAVAEE实验报告EL表达式和jstl标签库的使用.pdf

    JAVAEE 实验报告 EL 表达式和 JSTL 标签库的使用 EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作...

    JSTL标签库及使用方法

    **JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...

    jstl标签库的配置

    本篇文章将深入探讨JSTL标签库的配置过程及其在实际应用中的作用。 首先,我们要理解**JSTL的核心组件**。JSTL主要由五个核心部分组成:Core、Format、I18N、SQL和XML。其中,Core组件包含了大部分用于控制流程、...

    JavaWeb-12:自定义标签库开发&JSTL标签库

    二、JSTL标签库 JSTL是Java Web开发的标准标签库,它包含五个核心部分:Core、Format、I18N、XML和SQL。这些标签提供了丰富的功能,例如控制流、格式化、国际化、XML处理和数据库操作。 1. **Core标签**:包括if、...

    JSTL标签库需要导入的Jar包

    以下是关于JSTL标签库所需导入的JAR包及其功能的详细解释: 1. **jstl.jar**:这是核心JSTL库,包含了大部分常用的标签,如 `&lt;c:if&gt;`, `&lt;c:forEach&gt;`, `&lt;fmt:formatDate&gt;` 等。这些标签提供了条件判断、循环、格式...

    JSTL标签库jar包文件

    每个`taglib`元素定义了一个TLD(Tag Library Descriptor)文件的位置,这告诉服务器JSTL标签库的位置和元数据。 总之,JSTL通过提供丰富的标签来增强JSP页面的功能,而解决"无法解析绝对uri"的错误通常涉及到正确...

Global site tag (gtag.js) - Google Analytics