2008年7月19日

JSP遇見失效的EL

最近在JBoss 4.0.5.GA開發Web AP時,一直碰到一個囧問題,就是發佈出去的WAR包,JSP中含有EL的部份,完全起不了作用,也就是畫面中需要代入變數的部份,都變成直接顯示出EL表示式(${example_val})。

這問題真是囧到不行,重新deploy幾次仍失敗後,發現要把deploy/work資料夾給砍了,重新啟動JBoss Server,問題自己自動消失了。

但或許這是一個僥倖,今天在改寫舊的AP時,原本都沒什麼狀況,但就在一次重新deploy後,JSP又開始跟EL裝不熟,砍work的大絕也回天乏術,而莫名其妙的是另外一個結構相同的Web AP,不管怎麼deploy/undeploy都不會有問題。

在絕望之際,很想從10樓往外跳的時候,Google大神伸出援助的雙手,發現了原來還有比大絕還厲害的一段語法,給JSP服用後果然一次見效,此後就JSP乖乖聽話,把EL當家人看待:
<%@page isELIgnored="false" %>

但這真是莫名其妙看到鬼,另一個好端端的Web AP不加這語法也沒問題,而且在JSP 2.0 spec中,明明EL就應該預設開啟支援的。

也難怪教人如何避免跳入Java陷阱的主題,就能寫成一系列套書。

屢次在寫J2EE時冒出想輕生的念頭,就像寫HTML時被IE整到快咳血一樣,看來為了寶貴的生命,還是趕快把SCWCD拿一拿就跟Java說掰掰吧!

沒有留言:

張貼留言

lyhcode by lyhcode
歡迎轉載,請務必註明出處!