JSTL使用

news2025/1/16 11:12:53

目录

简介:

组成

使用:

code核心库使用

​编辑

fmt格式化

​编辑


简介:

全称:JSP Standard Tag Library

中文名:JSP标准标签库

作用:用于扩展JSP中的标签,能够为JSP页面提供流程控制、类型转换等功能的标签。替换JSP中代码脚本

组成

核心标签库      http://java.sun.com/jsp/jstl/core          c
格式化          http://java.sun.com/jsp/jstl/fmt           fmt
函数           http://java.sun.com/jsp/jstl/functions      fn
数据库(不使用)  http://java.sun.com/jsp/jstl/sql            sql
XML(不使用)    http://java.sun.com/jsp/jstl/xml             x

使用:

                1.导入 jstl-1.2.jar 与 standard-1.1.2.jar 包

                2.导入标签

                3.使用

  tabglib指令引入标签库

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

<%@ page import="com.dao.StudentDaolmpl" %>
<%@ page import="com.filter.Student" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
导入包

code核心库使用

<c:set/>

作用:可以给域中保存数据

scope:设置保存域
             page 表示 PageContext域,默认值
 ​            request表示Request域
             session表示Session域
             application表示ServletContext域

        var:键 value:值

   语法:

<c:set scope="page" var="" value="" /> 

例: 

 <c:set scope="request" var="name" value="纳西妲">
 <c:set var="name" value="布耶尔">
                    
                    ${pageScope.name}
                    ${requestScope.name}

<c:if>

作用:判断

属性:test,判断条件:使用EL表达式

语法<c:if test="条件">true时执行</c:if>

这个没有else

例如:

<c:if test="${1==1}">
    <h3>相同</h3>
</c:if>
<c:if test="${1!=1}">
    <h3>不相同</h3>
</c:if>

<c:choose>

大标签<c:choose>

包小的<c:when test=" ">

        1,when只要有一个成立就不会判断其他条件

        2,标签中不能使用html注释,可以使用jsp注释

        3,when的父标签必须是choose标签

例如:

<c:set scope="request" var="score" value="80"/>
<c:choose>
    <c:when test="${requestScope.score > 100 || requestScope.score<0}">
        <h3>成绩有误</h3>
    </c:when>
    <c:when test="${requestScope.score >= 85}">
        <h3>A</h3>
    </c:when>
    <c:when test="${requestScope.score >= 70}">
        <h3>B</h3>
    </c:when>
    <c:when test="${requestScope.score >= 60}">
        <h3>C</h3>
    </c:when>
    <c:otherwise>
        <h3>D</h3>
    </c:otherwise>
</c:choose>

<c:forEach>

作用:遍历

属性:

        var:遍历出的数据,指定一个名字

        begin:开始

        end:结束

        items:遍历的数据源

        step:指定元素的间隔数(默认为1,依次取出)

<c:forEach var="遍历的变量" begin="开始位置" end="结束位置">

</c:forEach>

例:

 <%
           StudentDaolmpl  daolmpl= new StudentDaolmpl();
          List<Student> list =  daolmpl.getStudent();
        %>

        <hr1>学生单子<hr1/>

            <%session.setAttribute("stu",list); %>
        <table>
                <tr>
                    <td> 姓名</td>
                    <td> 班级</td>
                    <td> 学号</td>
                    <td> 年龄</td>
                    <td> 学分</td>
                </tr>
            <c:forEach items="${sessionScope.stu}" var="u">
            <tr>
                <td> ${u.m_name}</td>
                <td>${u.m_class}</td>
                <td> ${u.m_nanber}</td>
                <td> ${u.m_age}</td>
                <td> ${u.m_score}</td>
            </tr>
             </c:forEach>
            <table/>

fmt格式化

<fmt:formatNumber />

作用:格式化数字

属性:

        value:值

        pattern:格式

                #:忽略前后0

                0:小数点后一位数字

                .:小数符号

        type:类型

                1,number:数字,默认保留三位

                2,currency:货币,保存到分,符号跟随当前系统

                3,percent:百分比,原数值*100舍去小数位

  <% request.setAttribute("num",3.141592653);
        %>
<br>
        <fmt:formatNumber value="${requestScope.num}" pattern="#.00">
<%--            保留后两位,默认四舍五入--%>
            <br>
            <fmt:formatNumber value="${requestScope.num}" type="number"/>
<%--            数字默认保留三位--%>
            <br>

            <fmt:formatNumber value="${requestScope.num}" type="currency"/>
<%--       根据市区加个钱符号,保留到分,--%>
            
            <br>
            
            <fmt:formatNumber value="${requestScope.num}" type="percent"/>
<%--            百分比,原数乘100,舍去小数位--%>

<fmt:formatNumber />

作用:格式化时间

属性:

        value:值

        pattern:格式

<%
request.setAttribute("date",new Date());
%>

<fmt:formatDate value="${date}" pattern="yyyy-MM-dd HH-mm-ss"/>

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

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

相关文章

【Spring Cloud实战】Ribbon负载均衡

gitee地址&#xff1a;https://gitee.com/javaxiaobear/spring-cloud_study.git 在线阅读地址&#xff1a;https://javaxiaobear.gitee.io/ 1、概述 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。 简单的说&#xff0c;Ribbon是Netflix发布的开源项…

jenkins持续集成 自动化部署

一、环境准备 1.1 Java环境 &#xff08;1&#xff09;安装jdk1.8 yum -y install java-1.8.0-openjdk* &#xff08;2&#xff09;执行以下命令查看是否安装成功 java -version 1.2 安装maven &#xff08;1&#xff09;将安装包上传到Linux服务器&#xff0c;解压缩 tar -…

对笔记本电池的研究

文章目录设计容量&完全充电容量笔记本电池报告显示电池设计与系统电池的全部充电容量之间的差异解释电池损耗正确做法查看笔记本的电池使用报告方法第一步&#xff1a;WinR键输入cmd&#xff0c;打开命令提示符窗口第二步&#xff1a;输入powercfg /batteryreport&#xff…

代码规范-对抗软件复杂度

1、为什么需要代码规范 任何系统性的项目都需要架构设计&#xff0c;而架构设计的核心命题是控制复杂度。 但随着项目的不断迭代&#xff0c;复杂度就会不断上升&#xff0c;研发效率就会不断下降。 而代码规范正是对抗软件复杂度的有效手段&#xff0c;通过约定俗成的规则…

[附源码]计算机毕业设计JAVA户籍管理系统

[附源码]计算机毕业设计JAVA户籍管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis M…

docker安装redis详细教程

1、下载最新redis镜像 docker pull redis //表示拉取最新的镜像 如果要指定版本 docker pull redis:latest//表示拉取最新的镜像 2、创建redis映射目录 mkdir /redisData/redis/conf 配置文件挂载在我指定的redisData/redis/conf/ 文件夹中&#xff0c;方便后续的修改 创建re…

Linux上单机部署RocketMq

Linux上单机部署RocketMq1、安装jdk2、下载rocketmq并解压3、创建日志文件夹4、启动namesrv5、启动broker6、查看和关闭7、rocketmq控制台7.1、控制台idea启动7.2、控制台jar包启动1、安装jdk rocketmq的运行是建立在jdk之上的&#xff0c;所以&#xff0c;我们要搭建rocketmq服…

uView u-slider 自定义滑块

有个需求UI设计的滑动选择器中的滑块如下所示&#xff1a; 项目中集成的是vView2.0组件库&#xff0c;u-slider组件中有 blockStyle 属性&#xff0c;看着是用来设置自定义滑块的。但是试了下&#xff0c;没有效果&#xff0c;不知怎么回事。看了一下uView1.0组件库 u-slider组…

大学生想做兼职应该怎么找,适合大学生的线上线下靠谱兼职推荐

大学生现在有很多兼职工作可以在网上和实体上做。他们可以根据个人能力和喜好进行选择。以下是一些低门槛的在线和离线兼职工作&#xff0c;希望能帮助到你。 线下兼职 1.勤工助学岗位 学校&#xff1a;通过学校提供的勤工俭学岗位&#xff0c;如办公室助理、图书馆助理等&am…

Java 线上机器 CPU 100% 的一次排查过程

文章目录1. 问题发生2. 数据库连接关闭问题排查3. 问题的进一步排查4. 解决方法1. 问题发生 日常敲代码突然收到生产环境异常告警&#xff0c;线上有一台机器 CPU 使用率飙升到 100 触发扩容&#xff0c;工作群里一下子鸡飞狗跳。 出现问题&#xff0c;首先当然是查看监控和日…

如何画架构图?

平时做过一些系统设计&#xff0c;也写过一些系统分析文章&#xff0c;从组件、关系、交互等方面提供一些建议&#xff0c;并用我之前写文章画的一些图举些例子。构成系统的组件通过形状、颜色、名称来逼近其概念。LevelDB 主要构件如上面 LevelDB 的架构图&#xff0c;包含的主…

Redis哨兵(Sentinel)

# Redis哨兵(Sentinel) Redis 的 Sentinel 系统用于管理多个 Redis 服务器&#xff08;instance&#xff09;&#xff0c; 该系统执行以下三个任务&#xff1a; 监控&#xff08;Monitoring&#xff09;&#xff1a; Sentinel 会不断地检查你的主服务器和从服务器是否运作正常…

内核参数 sched_min_granularity_ns 为什么看不到啦?

linux内核从版本v5.13-rc1起&#xff08;含&#xff09;&#xff0c;sysctl 已无法设置 kernel.sched_min_granularity_ns。 其实不止sched_min_granularity_ns&#xff0c;在 /proc/sys/kernel 下&#xff0c;和CPU调度相关的6个参数都不见了&#xff1a; sched_latency_ns …

Unity VR开发教程 OpenXR+XR Interaction Toolkit 2.1.1(七)射线抓取

文章目录&#x1f4d5;教程说明&#x1f4d5;添加射线功能的相关组件&#x1f4d5;设置 Interaction Layer Mask&#x1f4d5;让 XR Direct Interactor 不对 XR Ray Interactor 产生干扰&#x1f4d5;使抓取的物体不会吸到手上&#x1f4d5;远距离抓取时通过摇杆改变抓取物体的…

Node.js安装及环境配置

Node.js安装及环境配置1.下载安装Node.js2.npm安装路径配置3.环境变量配置4.换源5.测试npm安装1.下载安装Node.js Node.js官网 下载如图所示版本&#xff1a;&#xff08;请根据自己的系统环境选择&#xff09; 下载完成后傻瓜式安装即可 测试环境&#xff1a; PS C:\Users…

终于拿到了爆火全网的进一线大厂程序员必看的1700道java面试题

爆火全网的进一线大厂程序员必看的1700道java面试题到底有多牛&#xff1f; 牛不牛不敢说&#xff0c;但是有好多程序员是靠这一套1700道高频面试题&#xff0c;顺利收到很多大厂offer&#xff01; 以至于&#xff0c;到现在为止&#xff0c;大厂都开始按照这一套1700道面试题…

java计算机毕业设计ssm美食视频教学网站element 前后端分离

项目介绍 高校实验室信息管理平台是使用JAVA的SSM技术,MySQL作为数据库开发,用户通过查看实验室信息,在线预约实验室,实现高校实验室信息化管理。首先对本论文进行分析后,提出平台的相关技术,然后整理系统的需求分析,根据需求进行功能和数据库设计,最后进行系统实现和测试 。 …

Redis的Java客户端

目录 1 前言 2 Jedis客户端 2.1 jedis快速入门 2.2Jedis连接池 3 SpringDataRedis 3.1快速入门 3.2ReisTemplate配置序列化工具 3.3 StringRedisTemplate 1 前言 在Redis官网中提供了各种语言的客户端&#xff0c;地址&#xff1a;https://redis.io/resources/clien…

螺栓防松设计

常用的防松方法有三种&#xff1a;摩擦防松、机械防松和永久防松。机械防松和摩擦防松称为可拆卸防松&#xff0c;而永久防松称为不可拆卸防松。常用的永久防松有&#xff1a;点焊、铆接、粘合等&#xff0c;这种方法在拆卸时大多要破坏螺纹紧固件&#xff0c;无法重复使用。常…

系统测试-从研发到测试过程

系统测试是为了发现错误而执行程序的过程&#xff0c;成功的测试是发现了至今尚未发现的错误的测试。目的是在真实系统工作环境下通过与系统的需求定义作比较&#xff0c;检验完整的软件配置项能否和系统正确连接&#xff0c;发现软件与系统/子系统设计文档和软件开发合同规定不…