今天用maven構(gòu)建一個(gè)ssh項(xiàng)目的時(shí)候奥务,jsp頁面的EL表達(dá)式取不了值卓鹿。
后來發(fā)現(xiàn)檩电,在jsp頁面里面 棚瘟,[<%@ page isELIgnored="false"%>] 加上這一句就好了现斋。
這一句的意思就是,EL表達(dá)式不要以字符串的形式解析出來偎蘸,如果isELIgnored=“true” ,那么就會(huì)將EL表達(dá)式以字符串的形式解析顯示出來庄蹋。
那么為什么我新建的項(xiàng)目會(huì)這樣呢? 因?yàn)槲业膚eb.xml文件沒有加上這一段約束
<web-app version="3.0"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
據(jù)百度:
如果web.xml中聲明部分的schema版本為2.5或者以上迷雪,而tomcat使用的是5.5.x以下的版本的時(shí)候就會(huì)出現(xiàn)在頁面直接顯示而不解析jstl/el表達(dá)式限书。如果web.xml中聲明部分的schema版本為2.5或者以上,tomcat使用使用的是6.0以上則不出現(xiàn)這種問題章咧。
在jsp頁面的<%@ page isELIgnored="false" %>聲明中倦西,將isELIgnored屬性設(shè)為false,EL表達(dá) 式才可以正常顯示,在2.4版本之前的版本赁严,isELIgnored默認(rèn)為true扰柠,所以只能在JSP頁面設(shè)置這個(gè)屬性為false才可以。2.4版本中isELIgnored屬性默認(rèn)為false误澳,因此EL表達(dá)式可以直接使用耻矮。