JSTL标签

news2025/1/17 1:33:57

JSTL标签

一、什么是JSTL标签:

随着J2EE瘦客户机技术JavaServer Pages(JSP)在过去几年中的流行,开发人员已经创建了许多自定义的JSP标记库。虽然很多标记库是为实现不同目标的而编写的,但它们往往也对迭代、条件及其它通用操作都提供了类似的解决方案。

为了减少对解决类似通用问题的独立标记库的需求,在Java Community Process(JSR 52)的赞助下创建了JSTL(JavaServer Pages Standard Tag Library,JSP)标准标记库,为解决这些通用功能提供一个单一的标准解决方案

Java Server Pages 标准标签库 (JSTL) 提供了一组标准标签,可用于 JSP 页面中完成大量的常用功能,帮助开发者建立各种动态JSP页面,可以设置作用域变量、完成条件判断、格式化,甚至访问数据库以及操作XML等处理。

c

二、使用方式:

第一步:引入jar包

第二步:在jsp页面中引入标签库

三、核心标签:
  1. 通用标签

    set

    Var:保存的信息的名称

    Value:保存的信息

    Scope:保存信息的范围

    Target:设置javabean对象的属性

    Property:**设置的javabean**对象的属性的属性名称

    场景1:<c:set var="userName" value="admin" scope="request"></c:set>>场景2:<c:set target="${user}" property="userName" value="admin1"></c:set>
  2. out:

    value:输出的信息 。注意:如果属性值写成字符串,将直接输出字符串,写成el表达式,则输出EL表达式的返回值

    Default:设置默认值

    escapeXml:true(会忽略特殊符号,如<,会把它当普通的文本信息输出)

    false(不会忽略特殊符号,会解析特殊符号,如<,会显示为<

    场景:

    <c:out value="${userPwd}" default="nothing"></c:out>
  3. remove:

    var:移除的信息的名称,

    scope:范围

    场景:

    <c:remove var="userName" />
  4. catch:捕获异常

    场景:

    <c:catch var="myException"><%      int i=0;   int j=10/i;   %> </c:catch><c:out value="${myException}"></c:out>
  5. 条件(重点)

    • 单分支

      <c:if test=*"*${条件表达式}*"*>   hello  </c:if>  
    • 多分支 :

      <c:choose>    <c:when test=*"*${条件表达式}*"*>    </c:when>    <c:otherwise>    </c:otherwise>  </c:choose>

      注意:条件必须写在el表达式中

  6. 迭代(重点)

    • foreach

      属性

      • begin:用来设定开始条件,默认值为0

      • end:用来设定结束条件

      • step:用来设定步长,默认为1

      • var:代表当前项目的变量名

      • varStatus:显示循环状态的变量

        循环状态属性

        • Index:下标位置

        • Count:循环次数

        • first:当前遍历到的对象是否为第一个,返回true或者false

        • last:当前遍历到的对象是否为最后,返回true或者false

      • items:设定进行循环的项目.需要写到el表达式中

    • 应用场景1

         <c:forEach items="${requestScope.userList}" var="u"   varStatus="status">      
             <c:if test="${u.user_name=='admin1'}">        ${u}=====${u.user_name}====${u.user_pwd}=====${status.index}====${status.count}===${status.first}===${status.last}<br/>      
          </c:if>   
      </c:forEach>
 
 - 应用场景2:控制循环次数
 
   ```jsp
   <c:forEach begin="1" end="10" var="i">${i}<br/></c:forEach>
四、项目改造

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1470440.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决:“出现问题,Outlook 无法设置你的账户”

原文&#xff1a;https://blog.iyatt.com/?p14213 1 问题描述 Office 专业版 2024 预览版 在 Outlook 输入邮箱后无法进一步配置登录信息&#xff08;腾讯企业邮箱 Exchange 登录&#xff09; 2 解决方法 通过控制面板里的邮箱设置可以正常添加登录&#xff0c;而且能…

链表OJ题第二弹:环形链表和环形链表 II

前言 第一弹的链表题目比较基础&#xff0c;下面两道题目难度升级&#xff0c;可以先自己挑战一下&#xff0c;再来看解析。解析有图示和的文字&#xff0c;有助于你的理解。 1. 环形链表 &#xff08;1&#xff09;题目及示例 给定一个链表的头节点 head &#xff0c;返回…

C语言菜鸟入门·二维数组

C语言菜鸟入门数组简介-CSDN博客 目录 ​编辑 1. 二维数组 1.1 初始化二维数组 1.2 访问二维数组元素 1.3 示例演示 2. 传递数组给函数 2.1 形式参数是一个指针 2.2 形式参数是一个已定义大小的数组 2.3 形式参数是一个未定义大小的数组 2.4 实例演示 1. 二维…

Spring中关于事务的一些方方面面

事务隔离级别&#xff1a; 先了解一些事务隔离级别有哪些&#xff1a; 未提交读(Read Uncommitted)&#xff1a; 允许脏读&#xff0c;也就是可能读取到其他会话中未提交事务修改的数据 提交读(Read Committed)&#xff1a; 只能读取到已经提交的数据。Oracle等多数数据库默…

组态软件在物联网中的应用

随着物联网的快速发展&#xff0c;组态软件在物联网中的应用也越来越广泛。组态软件是一种用于创建和管理物联网系统的可视化工具&#xff0c;它能够将传感器、设备和网络连接起来&#xff0c;实现数据的采集、分析和可视化。本文将探讨组态软件在物联网中的应用&#xff0c;并…

通信入门系列——双边带信号、单边带信号、Hilbert变换

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 本节目录 一、双边带信号 二、单边…

详细分析Pandas中的Series对象(附Demo)

目录 1. 问题所示2. 基本知识3. API Demo4. 示例Demo5. 彩蛋 1. 问题所示 从实战上手基础知识 一开始遇到这个Bug&#xff1a; TypeError: unsupported operand type(s) for -: str and float后面经了解执行减法运算时发生了错误&#xff0c;其中一个操作数是字符串类型&…

文献速递:GAN医学影像合成--用生成对抗网络生成 3D TOF-MRA 体积和分割标签

文献速递&#xff1a;GAN医学影像合成–用生成对抗网络生成 3D TOF-MRA 体积和分割标签 01 文献速递介绍 深度学习算法在自然图像分析中的成功近年来已被应用于医学成像领域。深度学习方法已被用于自动化各种耗时的手动任务&#xff0c;如医学图像的分割和分类&#xff08;G…

React18源码: Fiber树的初次创建过程图文详解

fiber树构造&#xff08;初次创建&#xff09; fiber树构造的2种情况&#xff1a; 1.初次创建 在React应用首次启动时&#xff0c;界面还没有渲染此时并不会进入对比过程&#xff0c;相当于直接构造一棵全新的树 2.对比更新 React应用启动后&#xff0c;界面已经渲染如果再次发…

Java 过滤器深入了解学习

Java 过滤器深入了解学习 生活不能等待别人来安排&#xff0c;要自己去争取和奋斗&#xff1b;而不论其结果是喜是悲&#xff0c;但可以慰藉的是&#xff0c;你总不枉在这世界上活了一场。有了这样的认识&#xff0c;你就会珍重生活&#xff0c;而不会玩世不恭&#xff1b;同时…

【服务发现--service】

1、service的定义 "Service"简写"svc”。Pod不能直接提供给外网访问&#xff0c;而是应该使用service。Service就是把Pod暴露出来提供服务&#xff0c;Service才是真正的“服务”&#xff0c;它的中文名就叫“服务”。可以说Service是一个应用服务的抽象&#…

【软考中级】系统集成项目管理工程师—导学

软考中级——系统集成项目管理工程师 原视频链接&#xff1a;2024年05月【持续更新】最新系统集成项目管理工程师培训课程-网络课程-软考中级培训 考试介绍 基础介绍 软考全称又叫计算机技术与软件专业技师资格水平考试。 软考是国家人力资源和社会保障部、工业和信息化部…

基于SpringBoot实现的医院药品管理系统

一、系统架构 前端&#xff1a;html | layui | js | css 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.6 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 药品库存管理-登记出入口信息 03. 药品库存管理-问题药品信息 …

【机器学习科学库】全md文档笔记:Jupyter Notebook和Matplotlib使用(已分享,附代码)

本系列文章md笔记&#xff08;已分享&#xff09;主要讨论人工智能相关知识。主要内容包括&#xff0c;了解机器学习定义以及应用场景&#xff0c;掌握机器学习基础环境的安装和使用&#xff0c;掌握利用常用的科学计算库对数据进行展示、分析&#xff0c;学会使用jupyter note…

字符串(算法竞赛)--Manacher(马拉车)算法

1、B站视频链接&#xff1a;F05 Manacher(马拉车)_哔哩哔哩_bilibili 题目链接&#xff1a;【模板】manacher - 洛谷 ​ #include <bits/stdc.h> using namespace std; const int N3e7; char a[N],s[N]; int d[N];//回文半径函数void get_d(char*s,int n){d[1]1;for(int…

SpringBoot:数据访问-整合 Druid 配置数据源监控

点击查看数据访问demo&#xff1a;LearnSpringBoot06DataJdbc 点击查看更多的SpringBoot教程 简介 Druid Spring Boot Starter 用于帮助你在Spring Boot项目中轻松集成Druid数据库连接池和监控。 一、添加druid-spring-boot-starter依赖 点击查询最新版 <dependency&g…

猜字谜|构建生成式 AI 应用实践(一)

在 2023 亚马逊云科技 re:Invent 之后&#xff0c;细心的开发者们也许已经发现有一个很有趣的动手实验&#xff1a;开发一款可部署的基于大语言模型的字谜游戏&#xff1a; 该款游戏使用了文生图模型为玩家提供一个未知的提示词&#xff0c;玩家需要根据模型生成的图像来猜测该…

【基于Ubuntu20.04的Autoware.universe安装过程】方案二:双系统 | 详细记录 | 全过程图文 by.Akaxi

目录 一、Autoware.universe背景 Part-1&#xff1a;安装双系统教程 二、查看Windows引导方式 三、制作安装盘 四、设置电脑配置 1.关闭bitlocker 2.压缩硬盘分区 3.关闭Secure Boot 4.关闭intel RST 5.BIOS设置U盘引导 五、安装Ubuntu20.04 1.ventoy引导 2.安装配…

代码随想录算法训练营Day27 || leetCode 93.复原IP地址 || 78.子集 || 90.子集II

93.复原IP地址 与分割回文串的代码相近&#xff0c;先写出判断函数&#xff0c;之后以判断结果为标准&#xff0c;执行回溯的代码。此题中使用点的个数来决定回溯的终止&#xff0c;需要学习一下。 class Solution { private:vector<string> result;bool isValid(const …

c语言经典测试题5

1.题1 t0; while(printf("*")) { t; if (t<3) break; }关于上述代码描述正确的是&#xff1f; A: 其中循环控制表达式与0等价 B: 其中循环控制表达式与0等价 C: 其中循环控制表达式是不合法的 D: 以上说法都不对 我们来分析一下&#xff1a;printf的返回值…