【愚公系列】2023年03月 Java教学课程 096-Servlet服务器的JSTL

2023-03-26 10:17:14 浏览数 (2)

文章目录

  • 一、JSTL
    • 1.1 JSTL
      • 1.1.1 JSTL概述
        • 1)简介
        • 2)使用要求
      • 1.1.2 核心标签库
      • 1.1.3 JSTL使用

一、JSTL

1.1 JSTL

1.1.1 JSTL概述

1)简介

JSTL是Java Server Pages标准标签库的缩写,是一组标签的集合,用于简化JSP页面中的常见的操作,如条件判断、循环遍历、格式化数据等。JSTL标签库提供了丰富的标签,包括核心标签、格式化标签、XML标签、SQL标签等。使用JSTL库可以提高JSP页面的代码可读性和维护性。JSTL是一个开放源码项目,由Sun公司主导,并得到了许多其他公司和开发者的贡献。

它由以下5个部分组成:

组成

作用

说明

Core

核心标签库。

通用逻辑处理

Fmt

国际化有关。

需要不同地域显示不同语言时使用

Functions

EL函数

EL表达式可以使用的方法

SQL

操作数据库。

不用

XML

操作XML。

不用

2)使用要求

包下载地址:https://download.csdn.net/download/aa2528877987/87612721

要想使用JSTL标签库,在javaweb工程中需要导入坐标。首先是在工程的WEB-INF目录中创建一个lib目录,接下来把jstl的jar拷贝到lib目录中,最后在jar包上点击右键,然后选择【Add as Libary】添加。如下图所示:

如果利用Tomcat来部署web应用的话需要将以上两个jar包拷贝到tomcat的lib目录下:${tomcat安装目录}/lib

在JSP页面头部使用<%@ taglib %>引入标签库

代码语言:javascript复制
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

1.1.2 核心标签库

在我们实际开发中,用到的jstl标签库主要以核心标签库为准,偶尔会用到国际化标签库的标签。下表中把我们经常可能用到的标签列在此处,其余标签库请同学们参考【JSTL标签库.doc】文档。

标签名称

功能分类

分类

作用

<c:if>

流程控制

核心标签库

用于判断

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

流程控制

核心标签库

用于多个条件判断

<c:foreache>

迭代操作

核心标签库

用于循环遍历

1.1.3 JSTL使用

代码语言:javascript复制
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%--导入jstl标签库 --%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>JSTL的常用标签</title>
  </head>
  <body>
    <%-- c:if  c:choose   c:when c:otherwise --%>
    <% pageContext.setAttribute("score","F"); %>
    <c:if test="${pageScope.score eq 'A' }">
    	优秀
    </c:if>
    <c:if	test="${pageScope.score eq 'C' }">
    	一般
    </c:if>
    <hr/>
    <c:choose>
    	<c:when test="${pageScope.score eq 'A' }">
    		AAA
    	</c:when>
    	<c:when test="${pageScope.score eq 'B' }">BBB
    	</c:when>
    	<c:when test="${pageScope.score eq 'C' }">CCC
    	</c:when>
    	<c:when test="${pageScope.score eq 'D' }">DDD
    	</c:when>
    	<c:otherwise>其他</c:otherwise>
    </c:choose>
    
    <%-- c:forEach 它是用来遍历集合的
    	 属性:
    	 	items:要遍历的集合,它可以是EL表达式取出来的
    	 	var:把当前遍历的元素放入指定的page域中。 var的取值就是key,当前遍历的元素就是value
    	 		注意:它不能支持EL表达式,只能是字符串常量
    	 	begin:开始遍历的索引
    	 	end:结束遍历的索引
    	 	step:步长。i =step
    	 	varStatus:它是一个计数器对象。里面有两个属性,一个是用于记录索引。一个是用于计数。
    	 			   索引是从0开始。计数是从1开始
    --%>
    <hr/>
    <% List<String> list = new ArrayList<String>();
       list.add("AAA");
       list.add("BBB");
       list.add("CCC");
       list.add("DDD");
       list.add("EEE");
       list.add("FFF");
       list.add("GGG");
       list.add("HHH");
       list.add("III");
       list.add("JJJ");
       list.add("KKK");
       list.add("LLL");
       pageContext.setAttribute("list",list);
     %>
	<c:forEach items="${list}" var="s" begin="1" end="7" step="2">
    	${s}<br/>
    </c:forEach>
    <hr/>
    <c:forEach begin="1" end="9" var="num">
    	<a href="#">${num}</a>
    </c:forEach>
    <hr/>
    <table>
    	<tr>
    		<td>索引</td>
    		<td>序号</td>
    		<td>信息</td>
    	</tr>
    <c:forEach items="${list}" var="s" varStatus="vs">
    	<tr>
    		<td>${vs.index}</td>
    		<td>${vs.count}</td>
    		<td>${s}</td>
    	</tr>
    </c:forEach>
    </table>
  </body>
</html>

0 人点赞