EL表达式
EL表达式即用${}括起来的表达式 比如${a+b},${student.id}
访问对象属性使用[]或者.如${student.id},${student[“id”]},使用.更简洁,但如果属性不是合理的java 变量名,比如accept-language,则不能用.
关键字有:and,or,not,eq,ne,gt,lt,ge,le,true,false,null,instanseof, empty ,mod ,div
隐式对象
主要有:pageContext,initParam,param,paramValues,header,headerValues,cookie,applicationScope, sessionScope,requestScope,pageScope
其中param返回一个Map<String,String>,paramValues返回Map<String,String[]>,header和headerValues也是类似 、
param=${param}</br>
paramValues=${paramValues}</br>
paramValues.purpose=${paramValues.purpose[0]}</br>
paramValues.message=${paramValues.message[0]}</br>
paramValues.message=${paramValues.message[1]}</br>
</br>
requestScope name=${requestScope.name} </br>
requestScope rk1=${requestScope.rk1} </br>
sessionScope sk1=${sessionScope.sk1} </br>
applicationScope ak1=${applicationScope.ak1} </br>
pageContext.request.contextPath=${pageContext.request.contextPath} </br>
cookie.ck1.name=${cookie.ck1.name} </br>
cookie.ck1.value=${cookie.ck1.value} </br>
</br>
header==${header} </br>
headerValues.accept-language=${headerValues["accept-language"][0]} </br>
headerValues.host=${headerValues.host[0]} </br>
</br>
initParam:${initParam}
EL运算符
- 算术运算符: + - * /(div) %(mod)
- 逻辑运算符: &&(and) ||(or) !(not)
- 关系运算符: ==(eq) !=(ne) >(gt) >=(ge) <(lt) <=(le) ?
<c:set value="value1" var="3"></c:set>
2+3=${2+3} $value1-3=${value1-2} </br>
2*3=${2*3} a*3=${a*3} </br>
5/2=${5/2} 5.0/3=${5.0/3} 5.0 div 2=${5.0 div 2} </br>
5%2=${5%2} 5 mod 2=${5.0 mod 2} </br></br>
true=${true} TRUE=${TRUE} True=${True} </br>
false=${false} false=${false} False=${False} </br>
!(1>0)=${!(1>0)} not true=${not true} </br>
1>0&&2>0=${1>0&&2>0} true&&false=${true&&false} </br>
1>0||2>0=${1>0||2>0} true||false=${true||false} </br></br>
<c:set value="str1" var="hello"></c:set>
<c:set value="str2" var="hello"></c:set>
2==2=${2==2} 2==2.00=${2==2.00} "2"=="2"=${"2"=="2"} </br>
2>2=${2>2} 2>=2.00=${2>=2.00} "aa"gt"ab"=${"aa"gt"ab"} </br>
2<2=${2<2} 2<=2.00=${2<=2.00} "aa"le"ab"=${"aa"le"ab"} </br>
str1==str2=${str1==str2} str1 eq str2=${str1 eq str2} str1 eq "hello"=${str1 eq str2} </br></br>
3==4?true:false = ${3==4?true:false} </br>
<c:set value="val1" var="val1"></c:set>
empty val1 = ${empty val1} val1==null = ${val1==null} </br>
empty null = ${empty null} empty "" = ${empty ""} empty " " = ${empty " "} </br>