兩者都是在服務(wù)器端執(zhí)行的,JSP轉(zhuǎn)化為servlet并編譯為Java文件,其中會(huì)把EL,OGNL,<% %>等解釋出來(lái),并返回給客戶端。
OGNL表達(dá)式依賴于struts2標(biāo)簽,必須結(jié)合struts2標(biāo)簽使用,如:<s:property value="#student.name"></s:property>
但是<a href="checkInfo.jsp?id=%{#student.studentid}">查看信息</a>這樣是不行的,因?yàn)?lt;a>標(biāo)簽不是struts2標(biāo)簽
當(dāng)然可以把它改為<s:a href="checkInfo.jsp?id=%{#student.studentid}">查看信息</s:a>這樣就行.
說(shuō)明:<s:a href="checkInfo.jsp?id=%{#student.studentid}">中%{ }作用是告訴解釋器,這之間的代碼為OGNL表達(dá)式,這很有用。
EL表達(dá)式形式為${內(nèi)容},如${sessionScope.user.name}. 不能用在java表達(dá)式<% %>之內(nèi),因?yàn)閮烧呤莾煞N不同的表達(dá)式。
EL表達(dá)式不能用在struts2標(biāo)簽里。
EL表達(dá)式能用在內(nèi)部文件的js里(jsp被解釋時(shí),內(nèi)部文件的js代碼也被解釋,然后發(fā)送到客戶端,而外部js文件是在客戶端執(zhí)行的,所以EL表達(dá)式不能用在外部js文件里)
如:alert("${sessionScope.user.name}"), 加上雙引號(hào)或單引號(hào)。
說(shuō)明:js文件里不能使用OGNL表達(dá)式(因?yàn)樗荒芙Y(jié)合struts2標(biāo)簽使用)
不知道我說(shuō)的對(duì)不對(duì)
聯(lián)系客服