为什么80%的码农都做不了架构师?>>>
##1.EL全名为Expression Language
out.print(str)<%=str%>${str}
例子: Hi! <%=username%> 和 Hi! ${username}是一样的
只要是支持servlet2.4/jsp2.0的Container就都可以在jsp网页中直接使用el
EL如今已经是一项成熟,标准的技术
##2.EL语法:
${sessionScope.user.sex}
意思:从session的范围中,取得用户的性别
所有EL都是以${为起始、以}为结尾的。
##3.EL提供.和[]两种运算符来存取数据。
${sessionScope.user.sex} = ${sessionScope.user["sex"]}
.和[]可以同时使用:%{sessionScope.shoppingCart[0].price}
##4.EL隐含对象
jsp中有9个隐含对象,EL有11个隐含对象
常用的El隐含对象:
pageScope 取得Page范围的属性名称所对应的值
requestScope 取得request范围的属性名称所对应的值
sessionScope 取得session范围的属性名称所对应的值
applicationScope 取得application范围的属性名称所对应的值
param 如同ServletRequest.getParameter(String name)、回传String类型的值
cookie 如同HttpServletRequest.getCookies()
initParam 如同ServletContext.getInitParameter(String name)
不常用的EL对象:
pageContext 表示此jsp的PageContextparamValue 如同ServletRequest.getParameterValues(String name),回传String[]类型的值
##算术运算符
+ 加 ${ 17 + 5 } 22- 减 ${ 17 - 5 } 12* 乘 ${ 17 * 5 } 85/或div 除 ${ 17 / 5 } 3%或mod 余数 ${ 17 % 5 } 2
##关系运算符
==或eq 等于 ${ 5 == 5 } true!=或ne 不等于 ${ 5 != 5 } false<或lt 小于 ${ 3 < 5 } true&gh;或gt 大于 ${ 3 > 5 } false<=或le 小于等于 ${ 3 <= 5 } true>=或ge 大于等于 ${ 3 >= 5 } false
###注意:
在使用EL关系运算符时,不能写成: ${param.p1} == ${param.p2} 或者${%{param.p1} == ${param.p2} } 而应写成: ${param.p1 == param.p2}
##逻辑运算符
&&或and 交集 ${ A && B} true/false ||或or 并集 ${ A || B} true/false !或not 非 ${ !A } true/false
##注意:EL可以和常量混用,但是要注意表达式是不行的