前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【愚公系列】2023年03月 Java教学课程 096-Servlet服务器的JSTL

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

作者头像
愚公搬代码
发布2023-03-26 10:17:14
4640
发布2023-03-26 10:17:14
举报
文章被收录于专栏:历史专栏历史专栏

文章目录


一、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>
在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、JSTL
    • 1.1 JSTL
      • 1.1.1 JSTL概述
      • 1.1.2 核心标签库
      • 1.1.3 JSTL使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档