EL表达式与JSTL简单入门
更多博文请关注:听到微笑的博客
EL概述
EL(Express Lanuage)表达式可以嵌入在jsp页面内部,减少jsp脚本的编写,EL出现的目的是要替代jsp页面中脚本的编写。
简单来说EL表达式就是让程序员,简化了代码的书写量。在学EL表达式之前我们必须通过<%= %>来取出域中的数据,但这种方式 过于繁琐,所以就诞生了EL表达式。
EL取出JSP四大域对象中保存的数据
- pageContext域:${pageScope.key};
- request域:${requestScope.key};
- session域:${sessionScope.key};
- application域:${applicationScope.key};
EL从四个域中获得某个值
写法:${key};
例:如果在request域中存储了一个名为"productList"的对象,我们不需要通过${requestScope.productList}取出相应的对象,只需要${productList}即可取出相应的对象。
相当于pageContext.findAttribute()从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找.
JSTL概述
JSTL(JSP Standard Tag Library),JSP标准标签库,可以嵌入在jsp页面中使用标签的形式完成业务逻辑等功能。jstl出现的目的同el一样也是要代替jsp页面中的脚本代码。JSTL标准标签库有5个子库,但随着发展,目前常使用的是他的核心库。
JSTL五大子库
Core (核心库) 标签库的URI:http://java.sun.com/jsp/jstl/core 常用前缀:c
I18N(国际化) 标签库的URI:http://java.sun.com/jsp/jstl/fmt 常用前缀:fmt
SQL 标签库的URI:http://java.sun.com/jsp/jstl/sql 常用前缀:sql
XML 标签库的URI:http://java.sun.com/jsp/jstl/xml 常用前缀:x
Functions 标签库的URI:http://java.sun.com/jsp/jstl/functions 常用前缀:fn
下载与导入
下载:Apache的网站下载JSTL的JAR包。进入“http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/”网址下载 JSTL的压缩包。jakarta-taglibs-standard-1.1.2.zip
导入:解压后在lib目录下可以看到两个JAR文件,分别为jstl.jar和standard.jar。其中,jstl.jar文件包含JSTL规范中定义的接口和相关类,standard.jar文件包含用于实现JSTL的.class文件以及JSTL中5个标签库描述符文件(TLD),将两个文件导入项目中。
JSTL核心库的使用
<c:if>标签
1. 语法格式:
<c:if test="xxx" [var="xxx"] [scope="{page|request|session|application}"] >
执行体
</c:if>
2. 标签属性讲解:
test属性:用于设置逻辑表达式,当逻辑表达式为true时执行执行体
var属性:用于指定逻辑表达式中变量的名字
scope属性:用于指定var变量的作用范围,默认值是page。
3.用法案例:
<c:forEach>标签
两种语法格式:
1.迭代集合对象:
<c:forEach items="xxx" [var="xxx"] [varStatus="xxx"] [begin="xxx"] [end="xxx"] [step="xxx"]>
循环体.....
</c:forEach>
2.迭代数组:
<c:forEach begin="xxx" end="xxx" [var="xxx"] [varStatus="xxx"] [step="xxx"]>
循环体....
</c:forEach>
标签属性讲解:
1.items属性用于指定将要迭代的对象
2.var属性用于指 将当前迭代到的元素保存到page域中的名称(可以通过${xxx}获得对象)
3.varStatus属性用于指定当前迭代状态信息的对象保存到page域中的名称
varStatus属性可以获取以下信息:
count:表示元素在集合中的序号,从1开始
index:表示当前元素在集合中的索引,从0开始
first:表示当前是否为集合中的第一个元素
last:表示当前元素是否为集合中最后一个元素
4.begin属性用于指定从集合中的第几个元素开始迭代,begin的索引值从0开始
5.step属性用于指定迭代的步长,即迭代的增长因子
用法案例:
迭代集合对象:
迭代数组元素:
总结
在前端JSP页面中会经常用到EL表达式,和JSTL标签库,EL表达式使得取出request域和其它域中数据变得极其方便,JSTL免去了<%= %>的繁琐操作。我介绍的JSTL的两个标签是核心库中最常用的两个,它们两个标签可以解决大多数问题。当然JSTL标签库中的标签远不止这些,有兴趣的小伙伴可以深入了解。
下面是博主的其他文章,喜欢的博友们点个关注,谢谢您的支持。
Validate插件的自定义验证方法入门(结合Ajax实现用户名的数据库查重)
EL表达式与JSTL简单入门的更多相关文章
- javaWeb el表达式和jstl快速入门案例
<%@page import="de.bvb.domain.Person"%> <%@page import="de.bvb.domain.Addres ...
- (十)EL表达式和JSTL标签快速入门
目录 什么是 el 表达式 示例:使用EL表达式获取pageContext .request.session.application域中的数据: 示例:使用EL表达式获取Bean属性 获取当前WEB应 ...
- [转]EL表达式和JSTL表达式实例
/* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...
- Javaweb学习笔记6—EL表达式与JSTL及自定义标签
今天来讲javaweb的第六阶段学习. EL表达式与JSTL及自定义标签是对上篇文章介绍的JSP的扩展,不能说是很重要的东西,但是也要了解. 老规矩,首先先用一张思维导图来展现今天的博客内容. ps: ...
- EL表达式和JSTL(三)——EL表达式
在JSP的开发中,为了获取Servlet中存储的数据,通常需要很多的Java代码,这样的做法使的JSP页面非常混乱,为此,JSP2.0中提供了一种EL规范,是一种简单的数据访问语言. 1.初识EL E ...
- EL&Filter&Listener:EL表达式和JSTL,Servlet规范中的过滤器,Servlet规范中的监听器,观察着设计模式,监听器的使用,综合案例学生管理系统
EL&Filter&Listener-授课 1 EL表达式和JSTL 1.1 EL表达式 1.1.1 EL表达式介绍 *** EL(Expression Language):表达式语言 ...
- 简述jsp之EL表达式和jstl及其使用
Jsp的指令之include指令include指令:代表的是页面的包含. 作用:可以把一些jsp的页面包含在一起,对外展示. 页面的布局,现在已经不用了,现在都用css+div进行布局.include ...
- jsp EL表达式和JSTL标签if-else if-else用法
java web javaEE ,jsp EL表达式和JSTL标签if-else if-else四种用法一.条件运算符 ${user.gender==?'男':'女'} 二.if() <c:if ...
- EL表达式、JSTL
EL表达式 一.简介 > JSP表达式 <%= %> 用于向页面中输出一个对象. > 到JSP2.0时,在我们的页面中不允许出现 JSP表达式和 脚本片段. ...
- EL表达式和JSTL
EL相关概念JSTL一般要配合EL表达式一起使用,来实现在jsp中不出现java代码段.所以我们先来学习EL表达式 EL主要用于查找作用域中的数据,然后对它们执行简单操作:它不是编程语言,甚至不是脚本 ...
随机推荐
- 牛蛙!GoFrame2.7正式版的监控组件真是及时雨
声明:本文首发在同名公众号:王中阳Go,未经授权禁止转载. GoFrame框架今天发布了v2.7.0正式版本啦! 最大看点 本次版本最大的看点是提供了metric监控组件,主库提供了接口化的metri ...
- 树模型-LightGBM-从三个层面改进xgb
LightGBM lightGBM总结
- linux 性能自我学习 ———— cpu 高怎么办 [三]
前言 linux 性能分析自我学习. 正文 一般我们说cpu,一般是什么高呢? 一般是指cpu 使用率高. 那么什么是cpu 使用率呢? cpu 使用率 = 1- 空闲时间/总cpu 时间 平均cpu ...
- ionic 4 app 自动版本更新
前言 介绍一下ionic4 app的自动更新.ionic 不多介绍了,后面一个后系列,背负着骂名的ionic其实还是可以的,如果刚入门ionic可能觉得很坑,但是呢,往后你就发现另外一件事,那就是其他 ...
- 01矩阵-【BFS】
01矩阵 给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离.两个相邻元素间的距离为 1 ,方格斜方向不计算距离. 示例 1: 输入: [0 0 0 0 1 0 0 0 0] 输出: ...
- CPVT:美团提出动态位置编码,让ViT的输入更灵活 | ICLR 2023
论文提出了一种新的ViT位置编码CPE,基于每个token的局部邻域信息动态地生成对应位置编码.CPE由卷积实现,使得模型融合CNN和Transfomer的优点,不仅可以处理较长的输入序列,也可以在视 ...
- 痞子衡嵌入式:在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是在i.MXRT1xxx系列上用NAND型启动设备时可用两级设计缩短启动时间. 去年痞子衡写过一篇骚操作文章 <借助i.MXRT10 ...
- 模拟IDC spark读写MaxCompute实践
简介: 现有湖仓一体架构是以 MaxCompute 为中心读写 Hadoop 集群数据,有些线下 IDC 场景,客户不愿意对公网暴露集群内部信息,需要从 Hadoop 集群发起访问云上的数据.本文以 ...
- 从原理到操作,让你在 Apache APISIX 中代理 Dubbo3 服务更便捷
简介: 本文为大家介绍了如何借助 Apache APISIX 实现 Dubbo Service 的代理,通过引入 dubbo-proxy 插件便可为 Dubbo 框架的后端系统构建更简单更高效的流量链 ...
- WPF 已知问题 InputEventArgs 的 Timestamp 属性是静态的导致事件之间相互影响
本文记录一个 WPF 已知的设计问题,当前此问题已经被大佬修复,这个设计问题刚好属于比较边缘的模块,我写了这么多年的代码还没有踩到这个坑一次,也没有听到有谁提到这个坑 远古时候,不知道大佬是故意还是失 ...