JSTL的使用和语法规则

G.6 PaddleHub实战篇{ERNIE实现文新闻本分类、ERNIE3.0 实现序列标注}【四】 百度飞桨:ERNIE 3.0 、通用信息抽取 UIE、paddleNLP的安装使用[一]_汀、的博客-优快云博客PaddleHub--飞桨预训练模型应用工具{风格迁移模型、词法分析情感分析、Fine-tune API微调}【一】_汀、的博客-优快云博客 PaddleHub--{超参优化AutoDL Finetuner}【二】_汀、的博客-优快云博客PaddleHub实战篇{词法分析模型LAC、情感分类ERNIE Tiny}训练、部署【三】_汀、的博客-优快云博客通过前面几篇文章大家都有一定了解,下面 阅读详情

JSTL库

    JSTL是标准标签库,但它是通过多个标签库来暴露其行为的。JSTL标签可以分为5类区域。
这里写图片描述
在jsp页面中使用JSTL库,必须通过·以下格式使用taglib指令:

<%@ taglib uri="uri" prefix="prefix" %>

例如,要使用Core库, 必须在JSP页面的开头处做以下声明:

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

这个前缀是任意的,但是,采用惯例会使团队其它的开发人员以后后续加入该项目的其他人员容易熟悉这些代码。

一般行为

out标签
    out标签在运算时,是将结果输出到当前的JspWriter.out的语法有两种形式,即有body content 和没有 body content.

<!-- [] 表示是可选的属性, 如果值带下划线,则表示为默认值。 -->
<c:out value="value" [escapeXml="{true|false}"] [defaulr="defaultValue"]/>
<c:out value="value" [escapeSml="{true|false}"]>
    defaultValue
</c:out>

out标签的属性

属性类型描述
value*+对象要计算的表达式
escapeXml+布尔表示结果中的字符<、>、&、和将被转化成相应 的实体码,如<转移成lt;等等。
default+对象默认值

例如,下列的out标签将输出有界变量X的值:

<c:out value="${x}"/>

    默认情况下,out会将特殊字符<、>、’、”和&分别编写成他们相应的字符实体码<、&gt、&#039;、&#034;、和& amp;。
    在jsp2.0版之前,out标签是用于输出有界对象值最容易的方法。在jsp2.0及最高的版本中,除非需要对某个值进行XML转义u,否则可以放心的使用EL表达式:&{x}
    警告:如果包含一个或多个特殊字符的字符串没有进行XML转义,它的值就无法在浏览器中正常显示。此外,没有通过转义的特殊字符,会使网站易于遭受交叉网站的脚本攻击。例如,别人可以对它post一个能够自动执行的javascript函数/表达式。

set标签

利用set标签,可以完成以下工作:
1.创建一个字符串和一个引用该字符串的有界变量。
2.创建一个引用现存有界对象的有界变量。
3.设置有界对象的属性。

属性类型描述
value+对象要创建的字符串,或者要引用的有界对象,或者新的属性值
var字符串要创建的有界变量
scope字符串新创建的有界变量的范围
target对象其属性要被赋新值的有界对象;这必须是一个JavaBean实例或者java.util.Map对象
property+字符串要被赋新值的属性名称

set标签语法的4种形式。
提醒:[]表示可有可无的属性,如果没有按默认情况。

1.用于创建一个有界变量,并用value属性在其中定义一个创建的字符串或者现存有界对象。

<c:set value="value" var="varName" [scope={page|request|session|application}"]/>

例如下面set标签创建了字符串”The wisest fool“,并将他付给新创建的页面范围变量foo.

<c:set var="foo" value="The wisest fool"/>

2.第二种形式与第一种形式类似,只是要创建的字符串或者要引用的有界对象是作为body content赋值的。

<c:set var="vatName" [scope={page|request|session|application}"]>
    body content
</c:set>

3.第三种是设置有界对象的属性值。target属性定义有界对象,以及有界对象的property属性。对该属性的赋值是通过value属性进行的。

<c:set target="target" property="propertyName" value="value"/>

例如,下面的set标签是将字符串”Tokyo”赋予有界对象address的city属性。

<c:set target="${address}" property="city" value="Tokyo"/>

4.第四种形式与第三种形式相似,只是赋值是作为body content来玩成的。

<c:set terget="${address}" property="city">
    Beijing
</c:set>

remove标签

remove标签用于删除有界变量,其语法如下:

<c:remove var="varName" [scope="{}"]/>

注意,有界变量引用不能删除。因此,如果另一个有界对象也引用了同一个对象,任然可以通过另一个有界对象访问该对象。
remove属性表

属性类型描述
var字符串要删除的有界变量的名称
scope字符串要删除有界变量的范围

举个例子,下面的remove标签就是删除了页面范围的变量job。

<c"remove var="job" scope="page"/>

条件行为

JSTL中执行条件行为的有4个标签,即if、choose、when和otherwise标签。

if标签

    if标签是对某一个条件进行测试,假如果为True,就处理它的body content。测试结果保存在Boolean对象中,并创建有界变量来引用这个Boolean对象。利用var属性和scope属性别定义有界变量的名称和范围。
    if的语法有两种形式。第一种形式没有body content。

<c:if test="testCondition" var="varName" [scope="{page|request|session|application}"]/>

    if在这种情况下,var定义的有界对象一般是通过其他标签在同一个JSP的后续阶段再进行测试。
    第二种形式中使用了一个body content.

<c:if test="testCondition" [var="varName"]
    [scope="{page|request|session|application}">
    body content
</c:if>
属性类型描述
test+布尔决定是否处理任何现有body content的测试条件
varcentered引用测试条件值的有界变量名称;var的类型为Boolean
scope字符串var定义有界变量的范围

例子

<c:if test="&{param.user == 'ken' && param.password == 'blackcomb'}">
    You logged in successfully.
</c:if>
<c:else>
    Login failed.
</c:else>

choose、when和otherwise标签

    choose和when标签的作用于Java中的关键字switch 和 case比较类似。也就是说,他们是用于相互排斥的条件执行提供上下文的。choose标签中必须嵌入一个或者多个when标签,并且每一个when标签都表示一种计算器可以计算和处理的情况。otherwise标签默认的条件块,当上面的when标签没有一个符合为true时,他就会处理。
例子

<c:choose>
    <c:when test="${param.status == 'full'}">
        You are a full nenber.
    </c:when>
    <c:when test="$param.status == 'student'">
        You are a student member.
    </c:when>
        Please register.
    <c:otherwise>
</c:ptherwise>
</c:choose>

遍历行为

forEach标签
    标签会无数次地反复遍历body content或者对象集合。可以被遍历的对象包括java.util.Collection和java.util.Map的所有实现,以及对象数组或者主类型。也可以遍历java.util.Iterator和java.util.Enumeration,但不应该在多个行为中使用Itrator或者Enumeration。
    forEach标签的语法有两种形式。第一种形式是固定次数的重复body content。

<c:forEach [var = "varName"] begin="begin" end="end" step="step">
    body content
</c:forEach>

第二种形式用于便利对象集合。

<c:forEach itam="collection" [var="varName"]
[varStatus="varStatusName"] [begin="begin"] [end="end"] [step="step"]>
    body content
</c:forEach>

forEach标签的属性

属性类型描述
var字符串应用遍历的当前项目的有界变量名称
items支持的任意类型遍历的对象集合
varStatus字符串保存遍历状态的有界变量名称。类型值为javax.servlet.jsp.jstl.core.LoopTagStatus
begin+整数如果指定items,遍历将从指定索引处的项目开始,例如,集合中第一个项目的索引为0.如果没有指定的items,遍历将从设定的索引值开始。如果指定,begin的值必须大于或等于0
end+整数如果指定items, 遍历将在(含)指定索引的项目结束。如果没有指定items,遍历将在索引达到指定值时结束
step+整数遍历将只处理间隔指定step的项目,从第一个项目开始。在这种情况下,step的之必需大于或等于1
【单片机】STM32F103C8T6 最小系统板原理图 STM32F103C8T6是一款基于ARM Cortex-M3内核的32位微控制器,由STMicroelectronics(ST)公司生产。它是STMicroelectronics的STM32系列微控制器中的一员,被广泛应用于嵌入式系统和电子设备中。LQFP48封装(Low-profile Quad Flat Package,48引脚)SRAM(静态随机访问存储器):20 KB。支持JTAG调试和编程接口(可选)多个通用输入/输出口(GPIO)USB接口(用于USB设备模式)内置调试和编程接口(SWD) 阅读详情

相关推荐

STM32 (基于HAL库) 硬件IIC任意地址读写任意字节----AT24CXX芯片

转了一圈,发现有关STM32的iic的硬件是使用比较少,基于HAL库的就更少,传统的,大家都是采用软件模拟的。有iic的协议相对复杂,同时灵活,尤其是不同的设备的I2C通信组合变化也不同,使用灵活的软件模拟也是可以理解的,在加上I2C的设备读写速度都比较低,硬件读写的优势就更无法体现,哪怕硬件I2C可以开启DMA,甚至在随机的读取少量字节的情况下。开启DMA反而效果更差。自然而然的硬件I2C就无人问津了。

qq_32273059的博客 1579

JSP——JSTL语法总结

一、JSTL概述 二、JSTL核心标签库

未完成的歌~的博客 819

S型速度曲线进阶:基于Sin²(x)的PLC平滑运动控制实践(以伺服/步进系统为例)

本文深入探讨了基于Sin²(x)的S型速度曲线在PLC平滑运动控制中的实践应用,特别针对伺服/步进系统。通过对比传统梯形曲线和七段S曲线,详细展示了Sin²(x)曲线在加速度连续性、计算效率和参数自适应性方面的优势,并结合博图平台的具体实现技巧和实战案例,为精密运动控制提供了优化方案。

weixin_28718793的博客 242

JSTL标签库简介

    虽然JSTL叫做标准标签库,但实际上它是由5个功能不同的标签库组成。这5个标签库分别是核心标签库,格式标签库,SQL标签库,XML标签库和函数标签库。在使用这些标签库之前,必须在JSP页面的顶部使用&lt;%@taglib%&gt;指令定义引用的标签库和访问前缀。 使用核心标签库的taglib指令格式如下: &lt;%@ taglib prefix="c" uri="http://ja...

qq_40307529的博客 1622

Android架构中UseCase的设计原则与实战解析

本文深入解析Android架构中UseCase的设计原则与实战应用,探讨其在Domain Layer中的核心作用。通过对比ViewModel的臃肿问题,详细阐述UseCase的无状态原则、单一职责边界等设计铁律,并提供多种实现方式的代码示例,帮助开发者构建更清晰、高效的Android应用架构。

weixin_28432777的博客 431

【STM32 CubeMX】I2C中断方式与DMA方式

在STM32 CubeMX环境中,I2C(Inter-Integrated Circuit)通信协议的实现可以采用中断方式或DMA(Direct Memory Access)方式。中断方式通过触发中断来处理数据传输,而DMA方式则利用直接内存访问技术来实现数据传输,减轻了CPU的负担。在选择I2C通信方式时,开发者需要根据具体的应用需求和性能要求来选择合适的方式。STM32 CubeMX提供了图形化配置工具,使得配置I2C通信方式变得更加便捷。

m0_62599305的博客 7744

JSP与JSTL核心指南:从语法入门到实战应用

本文深入探讨了JSP和JSTL两大Java Web核心视图技术。内容从JSP的基本语法、指令标签和四大作用域讲起,详细解析了如何利用EL表达式简化页面开发,并系统介绍了JSTL核心标签库与格式化标签库的使用。通过清晰的代码示例,你将掌握如何运用<c:if>, <c:forEach>, <fmt:formatDate>等标签替代Java脚本,从而编写出更加简洁、可维护的动态网页。

Jenniemkd的博客 1096

机械式激光雷达实现原理以及特性总结

本文介绍了机械式激光雷达的技术原理和核心特性。该技术通过机械旋转结构实现360°三维扫描,采用飞行时间法测距并生成点云数据。核心优势包括全向扫描、长距高精度和成熟度高,但存在体积大、成本高、可靠性受限等局限。典型应用于自动驾驶测试车、测绘建模等领域。与固态激光雷达相比,机械式在视场角和探测距离方面有优势,但在体积、成本和可靠性方面处于劣势。该技术目前主要应用于对成本不敏感的专业场景。

start_up_go的博客 262

JSTL表达式(C标签 核心标签)及语法格式

JSTL(Java Server Pages Standerd Tag Library,JSP标准标签库)包含用于编写和开发JSP页面的一组标准标签,它可以为用户提供一个无脚本环境。在此环境中,用户可以使用标签编写代码,而无须使用Java脚本,大大提高了程序的可维护性。实际上它是由5个功能不同的标签库组成。这5个标签库分别是核心标签库、格式标签库、SQL标签库、XML标签库和函数标签库等。在使用这些标签之前必须在JSP页面的顶部使用指令定义引用的标签库和访问前缀。

weixin_67418985的博客 973

2015年高教社杯全国大学生数学建模竞赛 A 题:《太阳影子定位》真题解析与 MATLAB 解决方案

🏆 本文已收录于专栏:《滚雪球学数学建模(含历年真题)》,持续更新最新及历年数学建模竞赛资料,每篇内容力求做到“问题讲透、模型讲清、代码可用、论文可参考”,帮助你从零开始逐步建立完整的数学建模知识体系。

**My Coding Family** 1357

【专栏必读】王道考研408数据结构+算法设计与分析万字笔记使用说明及章节导航

各位老铁思维导图在我整理完笔记后会放上去的,我需要根据王道的思维导图重新再做一遍 文章目录一:有关注意事项二:关于专栏三:学习建议四:各专栏导航(各位老铁别催,质量优先)(1)第一章:绪论(2)第二章:线性表(3)第三章:栈和队列第四章:串第五章:二叉树第六章:图 首先感谢王道大大(手动比心),很用心在做了,大家可以看其中两节是否符合胃口 (王道408考研数据结构)第五章树-第三节1:二叉树遍历(先序、中序和后序) (王道408考研数据结构)第五章树-第四节2:平衡二叉树(AVL)及其旋转 一:有.

快乐江湖的博客 5万+

JSTL标签 参考手册

前言 ========================================================================= JSTL标签库,是日常开发经常使用的,也是众多标签中性能最好的。把常用的内容,放在这里备份一份,随用随查。尽量做到不用查,就可以随手就可以写出来。这算是Java程序员的基本功吧,一定要扎实。 JSTL全名为JavaServer ...

大阳阳 186

24、交通信号协调算法与模型解析

本文深入解析了交通信号协调中的关键算法与模型,包括多路径进展模型、MAXBAND网络系统模型和松弛启用带模型。这些模型通过合理安排相位序列、优化绿波带宽等方式,提高了交通运行的效率。文章还探讨了交通控制从单点控制向网络协调的发展趋势,分析了当前面临的挑战与机遇,并提出了未来研究方向,如借助信息技术和机器学习,深入研究交通网络的基本构成,以实现智能化和精准化的信号协调。

agile9scrum的博客 133

#JSP & EL & JSTL的语法规则

怎么用JSP 指令写法 page指令 language 表明jsp页面中可以写java代码 contentType 其实即使说这个文件是什么类型,告诉浏览器我是什么内容类型,以及使用什么编码 contentType="text/html; charset=UTF-8" text/html MIMEType 这是一个文本,html网页...

qq_38585359的博客 201

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

jstl choose

jstl中choose用法 2010年06月20日 15:57 &lt;c:choose&gt;、&lt;c:when&gt;和&lt;c:otherwise&gt;在一起连用,可以实现Java语言中的if-else语句的功能。例如以下代码根据username请求参数的值来打印不同的结果: &lt;c:choose&gt;   &lt;c:when test="${emp...

FlexFun&Maven Driver 253

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

jsp中使用jstl实现类似java的if-else功能的写法

在在用spring mvc中,页面前端老用jstl和el表达式 jstl中也有一个类似于java中if-else的判断的用法 和一起使用达到上面的效果。 使用把包起来相当于if;相当于else     test="${empty param.username}">        Nnknown user.                ${para

jaryle的专栏 5196

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MVC,EL,JSTL

MVC Model 模型 javaBean 用来做持久化的,对数据库的数据查询封装View 视图 jsp,用来显示数据的页面Controller 控制器 Servlet,用来处理视图的请求和业务逻辑,并且去调用模型层对数据库的封装,并且将结果返回给视图层 EL 表达式语言el和jsp的表达式相似,用于运算输出。但是相比jsp表达式el更强1.可以直接访问域中的数据,不用通过reques...

weixin_30756499的博客 123

jstl c:choose>、<c:when>和<c:otherwise>标签

在用spring mvc中,页面前端老用jstl,记录一下。   、和在一起连用,可以实现Java语言中的if-else语句的功能。例如以下代码根据username请求参数的值来打印不同的结果:              Nnknown user.                ${param.username} is manager.  

xuzhiyong1314的博客 551

EL语言表达式 (一)【语法和特点】

一、基本语法规则:     EL表达式语言以“${”开头,以"}"结尾的程序段,具体格式如下:       ${expression}     其中expression:表示要指定输出的内容和字符串以...

Wang1996332的博客 1262

JavaWeb | 3 JavaWeb基础

来源慕课网

qq_44581505的博客 904

【JAVAWEB】javaweb8之JSP

javaweb8之JSP

2301_79585673的博客 380

JSTL參考

1.JSTL 1.1(JavaServer Pages Standard Tag Library) JSTL分為五大類: 1. Core Tag Library 前置名稱@: c URI:http://java.sun.com/jsp/jstl/core 2. I18N-capable for formatting tag library (晚一點講) 前置名...

vikingwei2015的专栏 136

EL表达式、JSTL、lombok、JSON

EL表达式、JSTL、lombok、JSON

qq_45422159的博客 558

JSTL之EL语法篇

安装JSTL支持 对于我们的JSTL安装例子来说,我们使用Tomcat 4.1(尽管任意支持Servlet 2.3和JSP1.2说明的servlet容器都应该能工作)。首先,下载Tomcat 4.1并且按指示进行安装(注意:JSTL需要一个JSP1.2 Web容器)。 用tomcat4 start程序启动Tomcat,并且运行index.html页来确保Tomcat是激活的、且运行良好。 接...

yesjavame 101

EL表达式和JSTL标签常见用法

EL表达式 格式: ${EL表达式的内容} EL表达式的作用: 从域对象中查找指定的数据。 内置对象使用 执行运算符 从域中获取数据 EL获得pageContext域中的值: ${pageScope.key}; EL获得request域中的值: ${requestScope.key}; EL获得session域中的值: ${sessionScope.key}; EL获得applicatio...

休对故人思故国,且将新火试新茶。诗酒趁年华 320

Javaweb中EL 表达式和JSTL 的使用

一、EL 表达式 概述:Expression Language 表达式语言,是一种在 JSP 页面获取数据的简单方式。 只能获取数据,不能设置数据。 语法:在 JSP 页面的任何静态部分均可通过: 来获取到指定表达式的值 开启EL表达式:isELIgnored="false" (1)获取容器的值 <html> <head> <title>EL</title> </head> <body> <h1>之

wy200144的博客 1073
上一篇: 李白打酒
下一篇: 散列
LuFei_java
博客等级 码龄10年 1粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值