JavaWeb__EL语法
举例:
*
age:${sessionScope.customer.age}
age:
<%--
Customer customer = (Customer)session.getAttribute("customer");
out.print(customer.getAge());
**
<!-- 如果域对象中的属性名字带有特殊字符,则使用[]符号运算会很方便 -->
<%
Customer customer2 = new Customer();
customer2.setAge(12);
session.setAttribute("com.stupid.customer", customer2);
%>
<!-- 则应该用下列方法来获取数据 -->
age:${sessionScope["com.stupid.customer"].age }
**EL可以进行自动类型转换
假设请求传入的数据score=89
sscore:${param.score + 11 } 输出:score:100
score:<%=request.getParameter("score") + 11 %> 输出:score:8911
**El中的隐含对象
1)与范围有关的隐含对象
applicationScope
sessionScope
requestScope
pageScope
2)与输入有关的隐含对象
Param //reuquest.getParamter(“name”)
score:${param.score + 11 }
score:<%=request.getParameter("score") + 11 %>
paramValues //request.getParamterValue(“name”) 获取
scores:${paramValues.score[0].class.name }
<%=
request.getParameterValues("score")[0].getClass().getName()
%>
${paramValues.score} 获取的时一个数组
${paramValues.score[0]} 获取的是这个数组中的一个元素
//这种方法相当于获取到了这个元素,这个元素的所有get方法都可以使用[“方法名”]来使用,也可以用.的方法来获取,但是class是关键字也就是之前提到的特殊字符,使用getClass时必须要使用[“class”]
否则会报错
Scores:${paramValue.score[0].class.name}
scores:${paramValues.score[0]["class"]["name"]}
<br>
<%=
request.getParameterValues("score")[0].getClass().getName()
%>
<br>
- 其他隐含对象
Cookie
Header
headerValue
initParam
pageContext
<!-- 其他隐藏对象 pageCotext等-->
<!-- cookie的用法 -->
JSESSIONID:${cookie.JSESSIONID.name}--${cookie.JSESSIONID.value}
<br>
<!-- 可以获取请求头中的参数 -->
Accept-Language:${header["Accept-Language"] }
<br>
<!-- 获取自己在web.xml或者。。z中设置的名为initName所对应的值 -->
initParam:${initParam.initName}
<br>
pageContext:pageContext即为pageContext类型,但只能读取属性
<br>
contextPath:${pageContext.request.contextPath }
<br>
sessionId:${pageContext.session.id }
<br>
sessionAttributeNames${pageContext.session.attributeNames }
<br>
El运算符
<!-- EL 的关系运算符 -->
${param.score>60? "及格" : "不及格" }
<br>
<%
List<String> names = new ArrayList<String>();
names.add("sss");
request.setAttribute("names", names);
%>
names is empty:${empty requestScope.names }
<br>