EL表达式
关键字
and eq gt true instanceof or ne le false empty not lt ge null div mod
访问对象的属性的两种方法:
方法一:${object["propertyName"]}
方法二:${object.propertyName}
但是如果propertyName不是有效的Java变量名,就只能用方法一,不然会导致异常。
EL隐式对象
pageContext initParam paramValues header headerValues cookie applicationScope sessionScope requestScope pageScope
pageContext包含了其它的JSP隐式对象:request response out session application config page exception
initParam用于获取上下文参数的值
param用于获取请求参数值
paramValues获取一个请求参数的多个值,包含了所有请求参数,例如${paramValues.selectedOptions[0]} ${paramValues.selectedOptions[0]}
header表示一个包含所有请求标题的Map,例如为了获取accept-language这个header的值${header["accept-language"]}
cookie用来获取一个cookie,例如${cookie.jsessionid.value} ${cookie.jsessionid.path}
算术运算符
+、-、*、/、div、%、mod
逻辑运算符
&&和and、||和or、!和not
关系运算符
==和eq、!=和ne、>和gt、>=和ge、<和lt、<=和le
${empty X}如果X为null,或者X是个长度为0的字符串,那么表达式就会返回true,否则将返回false。(如果是空Map、空数组或者空集合也会返回true)
实现免脚本的JSP页面
为了关闭JSP页面中的脚本元素,要使用jsp-property-group元素以及url-pattern和scripting-invalid两个子元素。url-pattern元素定义禁用脚本要应用的url样式。
例如:
<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <scripting-invalid>true</scripting-invalid> </jsp-property-group> </jsp-config>
注意:在部署描述符中只能有一个isp-config元素。如果已经为禁用EL而定义了一个jsp-property-group,就必须在同一个jsp-config元素下,为禁用脚本而编写jsp-property-group。
禁用EL计算
禁用之后,一旦出现EL架构,就不会作为一个EL表达式进行计算。
方法一:可以将page指令的isELIgnored属性设为true。(这个属性值默认为false)
<%@page isELIgnored="true" %>
方法二:在部署描述符中使用jsp-property-group元素。
例如:在noEL.jsp页面中禁用EL计算
<jsp-config> <jsp-property-group> <url-pattern>/noEL.jsp</url-pattern> <el-ignored>true</el-ignored> </jsp-property-group> </jsp-config>
如果在方法一中设置的属性为false,在方法二中设置为禁用了,EL计算也会禁用。
SpringMVC学习指南【笔记5】EL表达式、实现免脚本JSP页面、禁用EL计算的设置
原文:https://www.cnblogs.com/xsl1995/p/10170409.html