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

举报
愚公搬代码 发表于 2023/04/30 23:48:13 2023/04/30
【摘要】 一、JSTL1.1 JSTL1.1.1 JSTL概述1)简介JSTL是Java Server Pages标准标签库的缩写,是一组标签的集合,用于简化JSP页面中的常见的操作,如条件判断、循环遍历、格式化数据等。JSTL标签库提供了丰富的标签,包括核心标签、格式化标签、XML标签、SQL标签等。使用JSTL库可以提高JSP页面的代码可读性和维护性。JSTL是一个开放源码项目,由Sun公司主导,...

一、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 %>引入标签库

<%@ 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使用

<%@ 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>



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。