一、介绍:

​ 1.Jsp Standrad Tag Lib: JSP中标准的标签工具类

​ 2.由 sun公司 提供

​ 3.组成:(1)核心标签:Java在jsp上基本功能进行封装 if while

​ (2)SQL标签:JDBC在JSP上使用功能

​ (3)xml标签:DOM4J在JSP上使用功能

​ (4)Format标签:JSP文件格式转换

二、配置:

1.导入依赖 jar: jstl.jar standard.jar

        <!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/taglibs/standard -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>

2.在JSP文件引入JSTL中core包依赖约束

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

三、标签使用:

1.<c:set>:

​ 作用:在JSP文件上设置域对象中共享数据

​ 使用:<c:set scope="session" var="key" value="10"/>

​ 代替:<% session.setAttribute("key","10"); %>

​ 属性:scope:指定操作对象别名

​ scope="application/session/request/page"

​ var:声明域对象中关键字

​ value:存入的共享数据

<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"  language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <c:set scope="application" var="sid" value="10"/>
<c:set scope="session" var="sname" value="mike"/>
<c:set scope="request" var="age" value="24"/>
<c:set scope="page" var="home" value="上海"/> 学员编号:${applicationScope.sid}<br>
学员姓名:${sessionScope.sname}<br>
学员年龄:${requestScope.age}<br>
学员籍贯:${pageScope.home}<br>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%--设置用户今年的年龄--%>
<c:set scope="request" var="age" value="20"/>
<%--设置用户两年之后的年龄--%>
<c:set scope="request" var="age" value="${requestScope.age+2}"/> 用户两年之后的年龄:${requestScope.age}

2.<c:if>

​ 作用:在JSP文件上控制哪些内容可以写入到响应体中

​ 使用:

<c:if test="通过EL表达式进行判断">

内容

</c:if>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <c:set scope="session" var="age" value="20"/> <c:if test="${sessionScope.age ge 18}">
<font color="red">欢迎光临</font>
</c:if> <c:if test="${sessionScope.age lt 18}">
<font color="red">过两年再来</font>
</c:if>

3.<c:choose>

​ 作用:在JSP文件上实现多分支选择判断,决定哪一个内容写入到响应体

​ 使用:

<c:choose>

​ <c:when test="EL表达式进行判断">内容1</c:when>

​ <c:when test="EL表达式进行判断">内容2</c:when>

​ <c:otherwisse>内容3</c:otherwisse>

​ </c:choose>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <c:set scope="page" var="sal" value="15000"/> <c:choose>
<c:when test="${sal ge 50000}">高工资</c:when>
<c:when test="${sal ge 20000}">正常工资</c:when>
<c:when test="${sal ge 10000}">低工资</c:when>
<c:otherwise>不正常工资</c:otherwise>
</c:choose>

4.<c:forEach>

​ 作用:循环遍历

   第一种使用方式:
<c:forEach var="声明循环变量名称" begin="初始化循环变量" end="循环变量的最大值" step="递增或递减值">
内容
</c:forEach>
***step属性可以不写,默认每次递增加一
***循环变量被保存在 pageContext 中
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
Java实现:
<select>
<%
for (int i = 1; i < 5; i++) {
%>
<option>第<%=i%>页</option>
<%
}
%>
</select>
<br>
JSTL实现:
<select>
<c:forEach var="i" begin="1" end="5" step="1">
<option>第${pageScope.i}页</option>
</c:forEach>
</select>
第二种写法
<c:forEach items="通过EL表达式获得域对象集合" var="声明循环变量">
${循环变量.对象属性名}
</c:forEach> <%--例子--%>
<table border="2">
<tr>
<td>学员编号</td>
<td>学员姓名</td>
</tr>
<c:forEach items="${key}" var="stu">
<tr>
<td>${stu.sid}</td>
<td>${stu.sname}</td>
</tr>
</c:forEach>
</table>
<h1>遍历map</h1>
<table border="2">
<tr>
<td>班级名称</td>
<td>学员编号</td>
<td>学员名称</td>
</tr> <%--
遍历map时,每次从map集合得到一个【键值对】
【键值对】交给循环变量
循环变量.key 获得【键值对】中关键字名字 班级名称
循环变量.value 获得【键值对】中内容 stu对象
--%>
<c:forEach items="${mapKey}" var="key_value">
<tr>
<td>${key_value.key}</td>
<td>${key_value.value.sid}</td>
<td>${key_value.value.sname}</td>
</tr>
</c:forEach>
</table>

JSTL标签工具类的更多相关文章

  1. Java过滤HTML标签工具类

    过滤HTML标签能有效的放置XSS攻击. 封装: import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springf ...

  2. 第13天 JSTL标签、MVC设计模式、BeanUtils工具类

    第13天 JSTL标签.MVC设计模式.BeanUtils工具类 目录 1.    JSTL的核心标签库使用必须会使用    1 1.1.    c:if标签    1 1.2.    c:choos ...

  3. JavaWeb基础Day17 (JSP EL表达式 jstl标签库 beanutil工具类)

    JSP jsp的实质就是指在html界面中嵌入Java代码 jsp脚本 <%  Java代码  %>  相当于写在service方法中. <%=java 变量或者表达式 %> ...

  4. 安卓Html标签,创意工具类

    之前开发项目中,遇到了在Textview中使用Html标签的情形,由于在代码中使用字符串,Android Studio上一堆的黄色警告,而且对于过时的Html.fromHtml,拿它一点办法也没有. ...

  5. .Net Excel 导出图表Demo(柱状图,多标签页) .net工具类 分享一个简单的随机分红包的实现方式

    .Net Excel 导出图表Demo(柱状图,多标签页) 1 使用插件名称Epplus,多个Sheet页数据应用,Demo为柱状图(Epplus支持多种图表) 2 Epplus 的安装和引用 新建一 ...

  6. 自定义jstl标签库

    开发环境:Spring+SpringMVC +Maven +Mybatis JSTL 标签库的配置: 导入对应的 jstl.jar 和 standard.jar ,我使用的配置如下: <prop ...

  7. jsp学习---mvc模式介绍和el表达式,jstl标签库的使用入门

    一.mvc模式介绍 下图是常用的mvc分层模式: 项目中的包命名规则,一般如下: com.amos.domain 封装JavaBean,一般我喜欢用model命名这个包com.amos.dao 封装d ...

  8. jsf标签,jsp标签与jstl标签

    JSF通过定制标签与JSP集成.之前展示过的所有 JSF标签,<h:inputText>.<h:outputText>.<h:form> 和<f:view&g ...

  9. JavaWeb基础—EL表达式与JSTL标签库

    EL表达式: EL 全名为Expression Language.EL主要作用 获取数据(访问对象,访问数据,遍历集合等) 执行运算 获取JavaWeb常用对象 调用Java方法(EL函数库) 给出一 ...

随机推荐

  1. 资源:Nginx安装包的下载路径

    下载路径如下: Nginx所有版本:http://nginx.org/download/

  2. php 基于redis使用令牌桶算法 计数器 漏桶算法 实现流量控制

    通常在高并发和大流量的情况下,一般限流是必须的.为了保证服务器正常的压力.那我们就聊一下几种限流的算法. 计数器计数器是一种最常用的一种方法,在一段时间间隔内,处理请求的数量固定的,超的就不做处理. ...

  3. PHP利用百度ai实现文本和图片审核

    之前做平台内容发布审核都是自己构建一套违禁词库,在代码中利用词库判断用户发布的内容,现在可以使用百度ai api完成这个功能.接下来就简单说下怎么做吧: 首先打开百度ai 开发平台 注册一个账号: 注 ...

  4. 羊城杯wp babyre

    肝了好久,没爆破出来,就很难受,就差这题没写了,其他三题感觉挺简单的,这题其实也不是很难,我感觉是在考算法. 在输入之前有个smc的函数,先动调,attach上去,ida打开那个关键函数. 代码逻辑还 ...

  5. uni-app app端 人脸识别

    在听到人脸识别,哇塞!感觉来个个高大上的,去阿里 腾讯 看他们的人脸识别方法,官方sdk什么的. 到后来,需求确定了,拍照(照片)上传,后台去识别是不是本人,这一瞬间从天堂到地狱,放着官方那么好的方法 ...

  6. C语言:printf*("%x")

    #include <stdio.h> int main(){ int a = 100; char str[20] = "hello world!"; char *zza ...

  7. [刘阳Java]_easyui-panel组件入门级_第3讲

    EasyUI中的panel组件在前面一节中我们简单告诉了大家代码如何写.这一节我们会从panel的入门级开始讲起走,重点包括它的事件监听,属性tool介绍 1. 事件监听-通过data-options ...

  8. spring-4-申明事务

    categories: spring5 事务回顾 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎! 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性. 事务就是把一 ...

  9. ubuntu16.04细节设置

    1.查看无线网卡名称 $ iwconfig ------------------ lo no wireless extensions. eth1 no wireless extensions. eth ...

  10. Lambda 表达式的基础语法

    1.基础语法 java8引入新的操作符"->"箭头操作符,箭头操作符将Lambda表达式分成两部分 左侧:Lambda 表达式的参数列表,对应抽象方法的参数列表 右侧:需要执 ...