我是靠谱客的博主 火星上大白,最近开发中收集的这篇文章主要介绍JSTL(jsp标准标签库)JSTL,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

JSTL

简介

全称:JSP Standard Tag Library

中文名:JSP标准标签库

作用:用于扩展JSP中的标签,能够为JSP页面提供流程控制、类型转换等功能的标签。替换JSP中代码脚本

组成:

功能范围URL前缀
核心标签库http://java.sun.com/jsp/jstl/corec
格式化http://java.sun.com/jsp/jstl/fmtfmt
函数http://java.sun.com/jsp/jstl/functionsfn
数据库(不使用)http://java.sun.com/jsp/jstl/sqlsql
XML(不使用)http://java.sun.com/jsp/jstl/xmlx

taglib指令引入标签库

作用:引入其他网络标签库,类似于导包

<%@ taglib prefix="前缀" uri="URL" %>

使用步骤:

1,导入jstl-1.2.jarstandard-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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部