【JavaWeb】JSP学习看这一篇就够了-02(EL表达式和JSTL标签库)

注:本文章基于尚硅谷JavaWeb相关视频及资料进行编写,代码简单,较容易理解,若有问题或者源码资料获取可以在评论区留言或者联系作者!



开篇

EL表达式:全称为Expression Language;表达式语言
主要作用是代替jsp页面中的表达式脚本在jsp页面中进行数据的输出;
EL表达式在输出数据的时候,要比jsp表达式脚本要简洁的多;

EL表达式的格式是:${表达式}
EL表达式在输出null值的时候,输出的是空串;
jsp表达式输出null值的时候,输出的是null字符串;

一、EL表达式

EL表达式主要是输出域对象的数据;
当四个域中都有相同的key数据时候。EL表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出;

EL表达式输出bean对象的某个属性

EL表达式–运算:
(1)关系运算:

关系运算符 说明
==或eq 等于
!=或ne 不等于
<或lt 小于
*>(忽略星号)或gt 大于
<=或le 小于等于
*>=(忽略星号)或ge 大于等于

(2)逻辑运算

逻辑运算符 说明
&&或and 与运算
11(两竖线)或or 或运算
!或not 取反运算

(3)算数运算:

算数运算符 说明
+ 加法
- 减法
* 乘法
/或div 除法
%或mod 取模

(4)empty运算:
empty运算可以判断一个数据是否为空,如果为空,则输出true,反之则为false;
以下几种情况为空:

  • 值为null的时候,为空;
  • 值为空串的时候,为空
  • 值是Object类型数组,长度为零的时候;
  • list集合,元素个数为零
  • map集合,元素个数为零
    使用方法:
${empty  属性名}

(5)三元运算:
表达式1?表达式2:表达式3
如果表达式1的值为真,则返回表达式2的值,如果表达式1的值为假,则返回表达式3的值;

(6)点运算:
. 点运算,可以输出Bean对象中的某个属性值。
[]中括号运算,可以输出有序集合中某个元素的值;
并且[]中括号运算,还可以输出map集合中key里含有特殊字符的key的值

EL表达式的11个隐含对象:
EL表达式中11个隐含对象,是EL表达式中自己定义的,可以直接使用;

变量 类型 作用
pageContext PageContextImpl 可以获取jsp中九大内置对象
pageScope Map<String,Object> 可以获取pageContext域中的数据
requestScope Map<String,Object> 可以获取request域中的数据
sessionScope Map<String,OBbject> 可以获取session域中的数据
applicationScope Map<String,String> 可以获取ServletContext域中的数据
param Map<String,String> 可以获取请求参数的值
paramValues Map<String,String[]> 可以获取请求参数的值,获取多个值的时候使用
header Map<String,String> 可以获取请求头的信息
headerValues Map<String,String[]> 可以获取请求头的信息,可以获取多个值的情况
cookie Map<String,Cookie> 可以获取当前请求的Cookie信息
initParam Map<String,String> 它可以获取在web.xml中配置的context-param上下文参数

二、JSTL标签库

JSTL标签库,全称是指JSP Standand Tag Library JSP标准标签库,是一个不断完善的JSP标签库,
EL表达式主要是为了替换jsp中的表达式脚本,而标签库则是为了替换代码脚本,这样使得整个jsp页面变得更加简洁;

在jsp标签库中使用taglib指令引入标签库
core标签库

xml标签库

sql标签库

FUNCTIONS标签库

  1. 首先导入jsp标签的jar包
  2. 使用taglib指令引入(自动)

core核心库的使用:

(a)

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

域对象.setAttribute(key,value)
scop属性设置保存到哪个域
	page表示PageContext域(默认值)
	ruquest表示Request域
	session表示Session域
	application表示ServletCont域
var属性设置key是多少;
value属性设置值

作用:可以向域中保存数据;

(b)

<c:if test=" ">判断成功执行语句</c:if>
test属性用来做判断的条件
无法写成else

作用:用于作if判断

(c)

<c:forEach begin=" 1" end=" 10" var=" i">
执行语句
</c:forEach>
遍历并执行语句:
begin属性设置开始的索引
end属性设置结束的索引
var属性表示循环的变量(也是当前正在遍历到的数据)
遍历object数组
items表示遍历的数据源(遍历的集合)
var表当前遍历到的数据
begin表示遍历的开始索引值
end表示结束的索引值
step属性表示遍历的步长值
varStatus属性表示当前遍历到的数据的状态
<c:forEach items=" "  var=" ">
</forEach items>

如果感觉内容写的还不错的话,一键三连不迷路!!!!
后面将会更新更多学习内容,一起学习吧!!!!!!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_47418550/article/details/124593447