天天看點

徹底解決IDEA編寫jsp時EL表達式不起作用的問題



  我們用idea開發java web時常常會遇到jsp的EL表達式不起作用的問題。造成的該問題的因素的可能有很多,

  1.有的是因為web.xml中的web-app隻配置了。。。。。。。。。。,而沒有在裡面配置xlmn,xsi等内容,2.還有的可能是web-app的配置的version的版本過低,導緻不支援EL表達式

  3.也有的是沒有導入相應的jstl的依賴包。。。。

  統一解決方案是:

  1.確定maven中添加了以下依賴:

  2.盡量将web-app的version版本設成最高,(例如2.3版本的web-app的?true預設設定就是true,忽略EL表達式,idea預設建立的jsp的格式是:

  ?"http://java.sun.com/dtd/web-app_2_3.dtd" >

  ? Archetype Created Web Application

  我們需要将其改成如下格式)

  目前我的是2.5的版本,它預設是支援jsp的EL表達式的。并且将web-app的配置寫完整:我的檔案如下:

  3.單個jsp設定其是否忽略EL表達式:(false表示支援,true表示不支援)

  4.全局配置jsp支援EL表達式:

  網上說在web.xml中加入以下代碼即可:

  ? ? ? ?

  ? ? ? ? ? ? *

  ? ? ? ? ? ? false

  ? ? ? ?

  但我測試,它并沒有效果,無論 false是false,還是true,它最終都是false的效果,并且 *.*代碼這樣寫還會報錯,說路徑無效,将其改成 ? *.*就可以了,但是不能解決問題啊,也許是高版本的web-app預設支援EL表達式,且不允許你全局更改其jsp的EL的設定吧。

  5.如果還不行,那就是緩存的因素作怪了。嘗試在maven的build節點下添加maven依賴:

  點選右側的maven project,并執行clean maven,install maven操作,清楚緩存: