美文网首页
java中el 及jstl知识的总结

java中el 及jstl知识的总结

作者: 赌未来_e1e8 | 来源:发表于2019-06-26 23:56 被阅读0次

El表达式的语法:

${表达式}

注意:

自带响应的功能

El表达式的使用:

El表达式获取请求数据

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

${param.键名} 获取请求实体中一个键一个值的数据

${paramValues.键名} 获取请求实体中同键不同值的数据,返回值是个String数组,可以使用角标直接获取  例如:爱好

获取请求头数据:

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

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

${headerValues["键名"]}

获取Cookie数据

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

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

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

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

El表达式获取作用域数据

作用域对象:pageContext request session application

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

获取

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

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

集合数据

list集合${键名[下标]}

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

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

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

指定作用域获取数据

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

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

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

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

El表达式逻辑运算

算术运算符: +、-、*、/ 在El表达式中可以直接进行算术运算

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

注意:+表示算术运算,不能进行字符串的连接

逻辑运算符: && || !

${逻辑表达式}、

注意:没有单& 、 单|

比较运算符: == != >,>=,< , <=

${比较表达式}

三目运算付:

${条件?值:值}

El表达式的empty判断

${empty 键名}

作用:

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

El表达式的empty判断

JSTl学习:

作用:在jsp页面使用其可以非常方便的进行数据的处理,较与使用java代码块方法、

,更加简单,代码更加的简洁易读。

使用:

核心标签库

流程:

导入架包

引入标签库

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

内容:

out标签

<c:out value="${表达式}" default="默认值" ></c:out>

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

set标签

<c:set value="数据" var="键名" scope="作用域"></c:set>

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

注意:

scope的值为:page request session application

remove标签:

<c:remove var = "要删除数据的键名" scope = "作用域名">

作用:删除作用域中的数据,默认是删除四个作用域中的符合要求的数据

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

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

使用pageContext.removetAttriute(String name , int scope)

指明要删除的作用域中的数据scope的值为1,2,3,4 分别对应四个作用域

使用resquest.removeAttibute("键名") 删除当前作用域符合要求的数据

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

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

逻辑标签:

单分支判断标签:<c:if test="${表达式}">数据</c:if>

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

注意:

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

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

多分支判断标签:

<c:choose>

<c:when test="${表达式}"></c:when>

<c:when test="${表达式}"></c:when>

..

<c:otherwise"></c:otherwise>

</c:choose>

注意:

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

循环标签:

<c:foreach>

循环体

</c:foreach>

属性:

begin:声明循环的开始位置

end:声明循环的结束位置

step:声明循环的步长

varStatus:声明变量记录循环状态,例如变量名:i

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

示例:

${i.index} 获取当次循环的下标

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

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

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

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

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

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

相关文章

网友评论

      本文标题:java中el 及jstl知识的总结

      本文链接:https://www.haomeiwen.com/subject/meafcctx.html