2010-01-18_實習日記_天天更新
《今天收穫:鞏固JSP基礎知識》
今天迎來了實習的第一次眼力活(即體力活)雖是眼力活,但也非全是,因爲不知道爲什麼,我竟然用到腦了。今天的工作內容即是把ERP(進銷存)系統jsp項目的<%if……………%>純java代碼轉換成JSTL和EL等(名詞解釋:JSTL即Jsp Standard Tag Libraly,JSP標準標記庫 & EL即Expression language,表達式語言――關於它們實現jsp頁面的優勢,請文章後面_PS_1)
/**About EL Example
*講解相關EL的感想
*雖不全,但也得體
*/
<%=object.param%>.equals(<bean:write name=”object” property=”name”/>)這是會return true的。
按頭的意思即是把這兩種模式改成如下的EL模式:
${object.param}
瞧!是不是帥多了!寫到這裏,不知道,你有沒有想起EL是有兩種運算符來存取數據。
即是 . 和 [] ,Example如下
1、${object.param}
2、${object[“param”]}
Problem 1 :
知識到了這裏,不知道你有沒有想過EL爲什麼要提供兩種不同的運算符來存取數據呢?它們有什麼區別?分別在什麼時候使用?(你沒有交學費,我就不解釋了,自己G&B吧!我的顧慮:我是怕你在我這裏看到了按我的理解的答案,而不整理成自己的理解答案,這樣的學習不是真正的理解,只有自己上WWW,理解不同的答案,整合成自己的答案,方爲上解!不知道你同意我的看法嗎?if(同意){up me};else{Please繞道} )
Problem 2 :
${sessionScope.param}和<%=session.getAttribute(“param”)%>是相同的
看到上面的sessionScope,知道它是什麼嗎?EL的sessionScope和JSP的session是一樣的意思,都是各自的內置對象!既然有了sessionScope內置對象,那麼EL有幾個內置對象?
Problem 3 :
EL在沒有指定範圍時,如${param},這種模式下,Comp是如何取值的?
Problem 4:
我有一個邪惡的想法,我想在JSP頁面上禁止EL表達,怎麼實現?
Problem 4:
講到了這裏,EL就只有我講的這些應用嗎?非也!其它的應用如
${6>5} return true
$(1+1) 2
${‘zithan’ == ‘zithan’} return true
${‘zithan’ eq ‘xiaoqiang’} return false
${empty username} return true or false
……
很多的應用,我這裏就一一介紹了,還是那自己G&B吧!
今天的EL就到這裏,明天繼續JSTL……
PS_1
JSTL和EL開發JSP頁面的優勢:http://developer.51cto.com/art/200901/107110.htm