1 EL表达式
EL(Expression language,表达式语言)是jsp2.0的一个新特性。在jsp页面中使用EL可以简化对象和变量的访问。
1.1 EL操作符(.和[])
El使用.和[]来操作数据、例如:访问javaBean的user的属性name可以有两种访问方式:
${user.name}
或者${user[name]}
1.2 算术操作符
EL表达式的使用就是为了简化在jsp中输入的java代码是jsp2.0之后新加入的,也可以使用在html页面中,我们可以使用el表达式来输出属性的值
<%request.setAttribute(“info”,”value1”);
pageContext.setAttribute(“info”,”value1”);
session.setAttribute(“info”,”value1”);
application.setAttribute(“info”,”value1”);
%>
EL表达式取值:${info}
这样我们取的值如果有名称相同的就会只显示一个(顺序是先找到的先显示pageContext---request-----session----application)
我们可以使用它们的属性.值得方式来区分不同的属性
EL表达式取值:${request.info}
${session.info}
1.3 Empty操作符
Empty放在元素的前面用于检测元素时候为null或者是否是empty类型,如果是九返回true
例如:A元素不存在则${empty A}返回true
1.4 条件操作符
?:
${A?B:C}表达的意思就是:如果A正确就选择B如果A错误就选择C
1.5 圆括号操作符
用于改变执行的优先级
${20*(2-1)}
操作符的优先级:
1.6 EL表达式的内置对象:
1.6.1 PageContext内置对象
可以访问其他的内置对象。
1.6.2 RequestScope
类型是java.util.Map将请求范围内的属性和他的值进行映射用于获取请求范围内的属性的值。
1.7 pageContext对象可以操作其他的内置对象request、session、application等
${pageContext.session.id}
1.8 命名变量:
命名变量的值在EL中是通过pageContext.findAttribute(String)方法来完成的例如:${user}是按照page-----request---------session--------application来查找命名的属性user的如果都找不到就返回null。我们也可以使用pageScope,requestScopt,sessionScope,applicationScope来制定范围:如${pageScope.user}
EL保留的关键字:
EL的函数:
ns:func(a1,a2,a3……..an)
函数的前缀ns必须包含了函数的标签库的前缀,func是函数的名字,括号里面的时函数的参数