SpringMVC学习指南【笔记5】EL表达式、实现免脚本JSP页面、禁用EL计算的设置

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计算也会禁用。

 

posted @ 2018-12-24 19:07  HelloWorld1815  阅读(218)  评论(0编辑  收藏  举报