2.9 JavaWeb核心之JSTL

2.9.1 JSTL介绍

JSTL (Java Server Page Standard Tag Library):JSP标准标签库
它主要是提供给开发人员一个标准通用的标签库。开发人员可以利用这些标签取代JSP页面上的Java代码,从而提高程序的可读性,降低程序的维护难度。
举个例子,之前的JSP代码是既有html,也有Java代码,而Java代码还需要加上<%%>标签,整体看上去显得很乱,而JSTL就是取代JSP中的Java代码。
在这里插入图片描述

2.9.2 JSTL核心标签库

标签名称功能分类属性作用
<标签名:if>流程控制核心标签库用于条件判断
<标签名:choose>流程控制核心标签库用于多条件判断
<标签名:when>流程控制核心标签库用于多条件判断
<标签名:otherwise>流程控制核心标签库用于多条件判断
<标签名:forEach>迭代遍历核心标签库用于循环遍历

JSTL的使用:
首先得创建一个web项目
在这里插入图片描述
在web目录下的WEB-INF目录下创建一个libs目录,将JSTL的jar包导入。
如果没有WEB-INF就手动创建一个。
在这里插入图片描述
JSTL的jar包百度网盘链接
链接:https://pan.baidu.com/s/1DK34vvZSSxE192V82-pJMA
提取码:xxxx

创建JSP文件,通过taglib导入JSTL标签库。
在这里插入图片描述
我在这里遇到个问题
taglib的uri报红且不能自动提示 这个问题我已经解决,在这里

对流程控制和迭代遍历的标签进行使用。
流程控制:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
    <title>流程控制</title>
</head>
<body>
<%--向域对象中添加成绩数据--%>
${pageContext.setAttribute("score","A")}
<%--对成绩进行判断--%>
<c:if test="${score == 'A'}">
    优秀
</c:if>

<c:choose>
    <c:when test="${score == 'A'}">优秀</c:when>
    <c:when test="${score == 'D'}">良好</c:when>
    <c:when test="${score == 'C'}">及格</c:when>
    <c:when test="${score == 'D'}">较差</c:when>
    <c:otherwise>成绩类型不符</c:otherwise>
</c:choose>
</body>
</html>

这里的prefix=“c”,c就是名称
后面用的标签名就是这个c,标签中参数test就是获取到域对象中的数据
if标签中的这个意思就是 “如果成绩为A,就为‘优秀’ ”;同样地,在choose标签中,用的是多支选择,也是这个意思,需要知道的是,如果score的数据在when标签中都没有,就显otherwise标签中的信息。

循环遍历:

<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
    <title>循环</title>
</head>
<body>
<%
//    向域对象中添加集合
    ArrayList<String> list = new ArrayList<>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    list.add("dd");
    pageContext.setAttribute("list",list);
%>
<%--遍历集合--%>
<c:forEach items="${list}" var="str">
    ${str} <br>
</c:forEach>
</body>
</html>

部署并启动项目
通过浏览器观察。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值