概述
JSTL
简介
全称:JSP Standard Tag Library
中文名:JSP标准标签库
作用:用于扩展JSP中的标签,能够为JSP页面提供流程控制、类型转换等功能的标签。替换JSP中代码脚本
组成:
功能范围 URL 前缀 核心标签库 http://java.sun.com/jsp/jstl/core c 格式化 http://java.sun.com/jsp/jstl/fmt fmt 函数 http://java.sun.com/jsp/jstl/functions fn 数据库(不使用) http://java.sun.com/jsp/jstl/sql sql XML(不使用) http://java.sun.com/jsp/jstl/xml x
taglib指令引入标签库
作用:引入其他网络标签库,类似于导包
<%@ taglib prefix="前缀" uri="URL" %>
使用步骤:
1,导入
jstl-1.2.jar
与standard-1.1.2.jar
包2,引入标签库,可以自动引入
3,使用
code核心库使用
<c:set />
作用:可以给域中保存数据
属性:
scope:设置保存在那个域
page 表示 PageContext域,默认值
request表示Request域
session表示Session域
application表示ServletContext域
var:键
value:值
语法:<c:set scope=“page” var=“” value=“” />
示例:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <%-- 注意:如果pageContext中存储,取值会报错 --%> 使用set前取值:${requestScope.name} <%-- 使用set存值--%> <c:set scope="request" var="name" value="德玛" /> <hr /> 使用set后取值:${requestScope.name} </body> </html>
<c:if />
作用:判断
属性:
test:判断条件(使用EL表达式)
语法:
<c:if test="条件">
true时执行</c:if>
注意:没有else
示例
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <c:if test="${1==1}"> <h3>相同</h3> </c:if> <c:if test="${1!=1}"> <h3>不相同</h3> </c:if> </body> </html>
<c:choose>
choose开始判断
when:一种判断情况,类似于else if或if
属性:
test:当前判断条件
otherwise:类似与else
注意:
1,when只要有一个成立就不会判断其他条件
2,标签中不能使用html注释,可以使用jsp注释
3,when的父标签必须是choose标签
示例:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <c:set scope="request" var="score" value="80"/> <c:choose> <c:when test="${requestScope.score > 100 || requestScope.score<0}"> <h3>成绩有误</h3> </c:when> <c:when test="${requestScope.score >= 85}"> <h3>A</h3> </c:when> <c:when test="${requestScope.score >= 70}"> <h3>B</h3> </c:when> <c:when test="${requestScope.score >= 60}"> <h3>C</h3> </c:when> <c:otherwise> <h3>D</h3> </c:otherwise> </c:choose> </body> </html>
<c:forEach>
作用:遍历
属性:
var:遍历出的数据
begin:开始
end:结束
items:遍历的数据源
step 指定元素的间隔个数(默认为1,依次取出所有元素)
语法:
<c:forEach var="遍历的变量" begin="开始位置" end="结束位置"> </c:forEach>
示例一:简单的遍历
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- Created by IntelliJ IDEA. User: 小晨同学 Date: 2022/11/17 Time: 21:10 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <%-- for (int i = 0; i <= 10; i++) { } --%> <c:forEach var="i" begin="0" end="10"> ${i} <hr /> </c:forEach> </body> </html>
示例二:遍历数组
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% String[] names = {"德玛","蛮王","寒冰","剑圣"}; request.setAttribute("list",names); %> <table border="1" cellspacing="0" width="200px"> <tr> <td>姓名</td> </tr> <c:forEach items="${requestScope.list}" var="name"> <tr> <td>${name}</td> </tr> </c:forEach> </table> </body> </html>
示例三:遍历集合
<%@ page import="java.util.ArrayList" %> <%@ page import="com.qf.bean.User" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- Created by IntelliJ IDEA. com.qf.bean.User: 小晨同学 Date: 2022/11/17 Time: 21:10 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% ArrayList<User> strings = new ArrayList<>(); strings.add(new User("蛮王")); strings.add(new User("德玛")); strings.add(new User("剑圣")); request.setAttribute("list",strings); %> <table border="1" cellspacing="0" width="200px"> <tr> <td>姓名</td> </tr> <c:forEach items="${requestScope.list}" var="u"> <tr> <td>${u.name}</td> </tr> </c:forEach> </table> </body> </html>
示例四:遍历字典
<%@ page import="java.util.ArrayList" %> <%@ page import="java.util.HashMap" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%-- Created by IntelliJ IDEA. User: 小晨同学 Date: 2022/11/17 Time: 21:10 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% HashMap<String, Integer> map = new HashMap<>(); map.put("德玛",28); map.put("蛮王",18); map.put("剑圣",58); request.setAttribute("map",map); %> <table border="1" cellspacing="0" width="200px"> <tr> <td>姓名</td> <td>年龄</td> </tr> <c:forEach items="${requestScope.map}" var="entry"> <tr> <td>${entry.key}</td> <td>${entry.value}</td> </tr> </c:forEach> </table> </body> </html>
fmt格式化
<fmt:formatNumber />
作用:格式化数字
属性:
value:值
pattern:格式
#:忽略前后0
0:小数点后一位数字
.:小数符号
type:类型
1,number:数字,默认保留三位
2,currency:货币,保存到分,符号跟随当前系统
3,percent:百分比,原数值*100舍去小数位
示例:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% request.setAttribute("num",13.14159265354); %> <%-- 注意默认四舍五入 --%> 保留两位小数:<fmt:formatNumber value="${requestScope.num}" pattern="#.00"/> <hr /> <%-- type:类型 number:数字,默认保留三位 currency:货币,保存到分,符号跟随当前系统 percent:百分比,原数值*100舍去小数位 --%> <fmt:formatNumber value="${requestScope.num}" type="number"/> <br /> <fmt:formatNumber value="${requestScope.num}" type="currency"/> <br /> <fmt:formatNumber value="${requestScope.num}" type="percent"/> <br /> </table> </body> </html>
<fmt:formatDate />
作用:格式化时间
属性:
value:值
pattern:格式
示例
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <% request.setAttribute("date",new Date()); %> <fmt:formatDate value="${date}" pattern="yyyy-MM-dd HH-mm-ss"/> </body> </html>
最后
以上就是火星上大白为你收集整理的JSTL(jsp标准标签库)JSTL的全部内容,希望文章能够帮你解决JSTL(jsp标准标签库)JSTL所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复