学习视频地址Java Web 尚硅谷
EL表达式
1.EL表达式搜索域数据的顺序2.c)EL表达式输出Bean的普通属性,数组属性。List 集合属性,map集合属性3.EL表达式—运算4.EL表达式的11个隐含对象 JSTL标签库
1.set标签2.if标签3、c:choose c:when c:otherwise标签4.forEach标签
遍历1到10遍历数组遍历Map集合遍历List集合forEach标签所有属性组合使用介绍 EL表达式
el替换了jsp的<%= %>
如果key是没有set的:
v
先存在域里(或者传过来),再输出。
应该使用了jsp-api这个包
1.EL表达式搜索域数据的顺序当四个域中都有相同的key的数据的时候,EL表达式会按照四个域的从小到大的顺序去进行搜索,找到就输出。
从小范围到大范围。pageContext,request,session, application
后面在第4点时,讲到了相同的key时,也可以指定某个域。
2.c)EL表达式输出Bean的普通属性,数组属性。List 集合属性,map集合属性EL表达式会根据name去User类里寻找这个name的get方法,此时会自动把name首字母大写并加上get前缀,一旦找到与之匹配的方法,El表达式就会认为这就是要访问的属性,并返回属性的值。
所以说:在Person对象里 只写一个get方法,不写类的成员变量都能使用!!
还有一点注意:如果一个成员变量是boolean类型,自动生成的get方法 ,命名是is什么什么。 这样的话EL表达式会根据ok的类型,自动去找isOk 这个方法。
3.EL表达式—运算<%@ page import="java.util.List" %><%@ page import="java.util.ArrayList" %><%@ page import="java.util.Map" %><%@ page import="java.util.HashMap" %><%@ page contentType="text/html;charset=UTF-8" language="java" %>
${ empty emptyStr }
${ empty emptyArr }
${ empty emptyList }
${ empty emptyMap }
${ 12 != 12 ? "A":"B" }
双引号 也可以
4.EL表达式的11个隐含对象pageContext的使用:
两个一样:
为什么.scheme 就相当于.getScheme。因为输出数据时 会默认的找这个的get+首字母大写的那个方法
4个域的使用:
param:
key 是String V是String[]
输出 wzg168
当遇到要获取复选框中的数据的场景时可以使用这个参数
header:
取请求头的某一个 因为User-Agent有特殊字符 所以用大括号
cookie:
键是String类型。cookie.JSESSIONID就是找到了JSESSIONID的值,.name就是getName
initparam:
读取配置文件
JSTL标签库el替换jsp的 <%= %>,jstl替换jsp的 <% %>
使用前先引入
1.set标签 2.if标签如果成立,则中间的输出
3、c:choose c:when c:otherwise标签 4.forEach标签 遍历1到10 遍历数组 遍历Map集合 遍历List集合 forEach标签所有属性组合使用介绍begin和end:
step:
varStatus: 变量状态
分析源码可得:
可以使用的方法和作用:
使用:status.Current …
如果一个成员变量是boolean类型,自动生成的get方法 ,命名是is什么什么。 这样的话EL表达式会根据first的类型,自动去找isFirst这个方法。