核心库
以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 标签库的使用 EL 表达式(Expression Language)是一种在 JSP 页面中使用的脚本语言,用于简化 JSP 页面的开发。EL 表达式可以访问 JSP 页面中的变量、对象和集合,进行逻辑操作...
**JSTL标签库及其使用方法** JavaServer Pages Standard Tag Library(JSTL)是Java社区为简化JSP页面开发而推出的一个标准标签库。它提供了丰富的功能,如迭代、条件判断、XML处理、国际化等,使代码更加简洁、易...
本篇文章将深入探讨JSTL标签库的配置过程及其在实际应用中的作用。 首先,我们要理解**JSTL的核心组件**。JSTL主要由五个核心部分组成:Core、Format、I18N、SQL和XML。其中,Core组件包含了大部分用于控制流程、...
二、JSTL标签库 JSTL是Java Web开发的标准标签库,它包含五个核心部分:Core、Format、I18N、XML和SQL。这些标签提供了丰富的功能,例如控制流、格式化、国际化、XML处理和数据库操作。 1. **Core标签**:包括if、...
以下是关于JSTL标签库所需导入的JAR包及其功能的详细解释: 1. **jstl.jar**:这是核心JSTL库,包含了大部分常用的标签,如 `<c:if>`, `<c:forEach>`, `<fmt:formatDate>` 等。这些标签提供了条件判断、循环、格式...
每个`taglib`元素定义了一个TLD(Tag Library Descriptor)文件的位置,这告诉服务器JSTL标签库的位置和元数据。 总之,JSTL通过提供丰富的标签来增强JSP页面的功能,而解决"无法解析绝对uri"的错误通常涉及到正确...