java ee jstl_javaEE EL表达式和JSTL标签

一. EL学习

1.格式:

${表达式}

2.El表达式的使用

2.1El表达式获取请求数据

2.1.1 获取用户请求数据(请求实体)

${param.键名} 获取请求实体中一个建一个值的内容

${paramValues.键名[0]}获取请求实体中同键不同值的内容 例如:爱好

2.1.2 获取请求头数据

${header} 返回所有数据的请求头数据,键值对形式

${header["键名"]} 返回指定的键的请求头数据

${headerValues["键名"]} 返回数组

2.1.3获取cookie

${cookie} 获取所有的cookie对象 键值对

${cookie.cookie对象的键名} 获取存储了指定cookie数据的cookie对象

${cookie.cookie对象的键名.name} 获取存储了指定cookie数据的cookie对象的键

${cookie.cookie对象的键名.value} 获取存储了指定cookie数据的cookie对象的值

2.2EL表达式获取作用域数据

2.2.1 作用域对象: pageContext request session application(servletContext)

2.2.2 作用域数据:我们使用setAttribute 方法存储的数据

2.2.3 获取:

普通字符串数据; ${键名}

对象数据: ${键名.属性名}

集合数据:

list集合${键名[索引]}

Map集合 ${map集合作用域 的键名.map集合数据的键名}

2.2.4 作用域的查找顺序: 如果找到了则不再查找,如果找不到,就继续查找下一个作用域,如果四个作用域中都没有则什么都不显示

pageContext-->request--> session--> application

2.2.5指定作用域获取数据:

${pageScope.键名} 指明获取pageContext作用域的数据

${requestScope.键名}指明获取request作用域的数据

${sessionScope.键名}指明获取session作用域的数据

${applicationScope.键名}指明获取application作用域的数据

2.3EL表达式逻辑运算

2.3.1算数运算:+,-,*,/ 在EL表达式可以进行算数运算

${算术表达式} 例如: ${1+2}

注意:+表示算数运算,不能进行字符串拼接

2.3.2逻辑运算:&& || !

${逻辑表达式}

注意:没有单& 单|

2.3.3比较运算:== 、!=、>,>=,

${比较表达式}

2.3.4三目运算:

${条件?值:值}

2.4 EL表达式的empty判断

${empty 键名}

判断该键是否储存有效数据

二.JSTL学习

1作用:在jsp页面使用其可以非常方便的进行数据的处理。较与使用java代码方法,更加的简单,代码更加的简洁易读

2使用:

核心标签库(以核心标签库为主)

3流程:

导入jar包

4内容:

4.1基本标签:

out标签:

作用:结合EL表达式将数据响应给浏览器,如果EL表达式没有取到数据则可以使用default属性声明默认值。

set标签:

作用:将数据储存到指定的作用域中,默认是PageContext作用域

注意:

scope的值为:page request session application

remove标签:

作用:删除作用域中的数据,默认是删除所有

但是可以通过scope属性指明要删除的作用域数据

注意:

使用pageContext.removeAttribute("键名");此方法会将四个作用域中的符合要求的数据全部删除

使用pageContext.removeAttribute("键名",int scope);

指明要删除的作用域的数据 scope的值为1(page),2(request),3(session),4(application)

使用request.removeAttribute("键名"); 删除当前作用域符合要求的数据。

使用session.removeAttribute("键名"); 删除当前作用域符合要求的数据。

使用application.removeAttribute("键名"); 删除当前作用域符合要求的数据。

4.2逻辑标签:

单分支判断标签:数据

作用:可以根据el表达式进行一定程度的单分支逻辑判断

注意:

test属性中书写的是EL表达式,或者说是EL表达式的逻辑表达式,

该标签只能进行EL表达式相关的逻辑判断。不能进行分El表达式不能获取的数据的逻辑处理

多分支判断:

...

注意:

符合条件只会执行一个分支,其他分支不会执行

循环标签:

循环体

属性:

begin:声明循环的开始位置

end:声明循环的结束位置

step:声明循环的步长

varStatus:声明变量记录循环状态

注意:记录的数据存储到了作用域中,可以直接使用EL表达式获取

实例${i.index }--获取档次循环的下标

${i.count }--获取当次循环的次数

${i.first }--判断是否是第一次循环

${i.last }-- 判断是否是最后一次循环

items:声明要遍历的数据,可以是集合和数组等

注意:要使用EL表达式来获取

var: 声明变量记录每次遍历的结果。可以做循环体中使用EL表达式获取遍历出来的数据

你可能感兴趣的:(java,ee,jstl)