【1】获取常量
${123} ${"123"} ${true}
【2】获取数组里的内容
<% int[] arr = {1,2,3,4,5,6}; pageContext.setAttribute("arr",arr); %> ${arr[0]}
【3】获取链表里的内容
<% List<String> list = new LinkedList<String>(); list.add("a"); list.add("b"); list.add("c"); pageContext.setAttribute("list",list); %> ${list} ${list[0]}
【4】获取map映射里的内容
<% Map<String, String> map = new HashMap<String, String>(); map.put("name","张三"); map.put("age","18"); pageContext.setAttribute("map",map); %> ${map} ${map["name"]}
【5】获取其他域里的内容
<% application.setAttribute("name","zs"); session.setAttribute("name","ls"); request.setAttribute("name","ww"); pageContext.setAttribute("name","zl"); %> ${applicationScope.name} ${sessionScope.name} ${requestScope.name} ${pageScope.name}
jsp脚本表达式 | el表达式中域对象 |
---|---|
pageContext | pageScope |
request | requestScope |
session | sessionScope |
application | applicationScope |
注:el自动搜寻域 ,直接书写${name}
【6】获取web应用虚拟路径
${pageContext.request.contextPath}
【7】获取Javabean中的内容
<% Person p = new Person("zs",18,"china"); pageContext.setAttribute("person",p); %> ${person["name"]} ${person.age}
【8】empty运算
用于判断字符串是否为空串,一个对象是否为null,数组、链表、映射中是否有元素。如果为空则返回true,如果不为空则返回false
<% String str = ""; pageContext.setAttribute("str",str); %> ${empty pageScope.str}
【9】三目运算符
${empty pageScope.str ? "该内容为空" : pageScope.str}
【10】el表达式11个内置对象
pageScope | 代表pageContext域的内置对象 |
requestScope | 代表request域的内置对象 |
sessionScope | 代表session域的内置对象 |
applicationScope | 代表servletcontext域的内置对象 |
header | 代表请求头的对象,可以获取指定名称的请求头对应的值 |
headerValues | 代表多个请求头的对象,可以获取指定名称的请求头对应的一些值。 |
param | 代表请求参数的对象,可以获取指定名称的请求参数值 |
paramValues | 代表多个同名请求参数的对象,可以获取指定名称的请求参数值 |
initParam | 代表初始化配置参数的对象,可以获取指定名称的初始化参数值 |
cookie | 代表cookie信息的内置对象,可以获取指定名称的cookie值,获取的数据类型为Map<String,Cookie> |
pageContext | 代表的是当前页面的上下文的内置对象,主要作用就是引出其他的隐式对象 |