EL 表达式
1. EL 的 . 或 [] 运算符
如果域对象中的属性名带有特殊字符, 则使用 [] 运算符会很方便.
age: ${sessionScope.customer["age"] } name: ${sessionScope["com.atguigu.customer"].name }
2. EL 中的隐含对象
age: ${customer.age }
3. EL 可以进行自动的类型转换
score: ${param.score + 11}
4. 隐含对象之与范围相关的: pageScope, requestScope, sessionScope, applicationScope
5. 与输入有关的隐含对象: param, paramValues
names: ${paramValues.name[0].class.name }
6. 其他隐含对象: pageContext 等(cookie, header, initParam 只需了解.)
pageContext: pageContext 即为 PageContext 类型, 但只能读取属性就可以一直的 . 下去。
contextPath: ${pageContext.request.contextPath } sessionId: ${pageContext.session.id } sessionAttributeNames: ${pageContext.session.attributeNames } initParam: ${initParam.initName } Accept-Language: ${header["Accept-Language"] } JSESSIONID: ${cookie.JSESSIONID.name } -- ${cookie.JSESSIONID.value }
7. EL 的运算符
${param.score > 60 ? "及格" : "不及格" }
empty 可以作用于一个集合, 若该集合不存在或集合中没有元素, 其结果都为 true
<% List<String> names = new ArrayList<String>(); names.add("abc"); request.setAttribute("names", names); %> names is empty: ${empty requestScope.names }