使用EL表達式需要注意的


1、表達式與Java無關,表達式都是以${開始,以}結束。
2、EL訪問java變量不能直接訪問,因為得不到數據,要訪問數據,需要將其放到作用域中。而使用<%=java變量%>可以訪問java變量。例如訪問String str=”abc”,我們不能通過${str}直接訪問,因為獲取不到,我們可以這樣訪問:
pageContext.setAttribute(“a”,str);獲取方式${a},與java表達式不同的是,當str=null時,該獲取方式獲取不到null,而是什么東西都不顯示。
3、實例代碼:
request.setAttribute("aaa","wuxin");
你好,${requestScope.aaa }
訪問javaBean:${隱式對象.id號.屬性名字 }例如${sessionScope.user.userName }
4、在EL表達式中定義的變量我們不能使用。
5、要直接從表單中獲取值,使用${param.控件名字}
6、獲取值的幾種方式
7、${“23”+3}得到的結果為26,${“23s”+3}報錯
8、打開或者禁用EL表達式:使用isELIgnored=”true(禁用)/false(支持)”
9、${這個里面不能使用java代碼,否則會報出服務器的500異常}

 

EL表達式的常用:
1、從表單提交到另一個頁面,使用param( paramValues)例如:
Request.getParameter(“username”)可寫成${param.usernam},${paramValues.hobby[2]}
2、從隱式對象中獲取數據:例如:session.setAttribute(“hello”,”123”);
Sesson.getAttribute(“hello”);可寫成${sessionScope.hello},獲取javaBean中的數據,例如session.setAttribute(“user”,user);
User u=(User)Session.getAttribute(“user”);u.getUserName();
可為${sessionScope.user.userName}
當前面沒有寫隱式對象的時候,例如${ hello},編譯器會自動從最小的默認對象開始找,即pageScope、requestScope、sessionScope、applicationScope,找到匹配的顯示,沒有找到則為null
EL的默認對象:
pageScope、requestScope、sessionScope、applicationScope、param、paramValues、header、headerValues、cookie、、
3、動態賦值:${sessionScope.user[data]},如果data為userSex,則它的值 為${sessionScope.user[“userSex”]}等價於${sessionScope.user.userSex},如果data的值 為userName,則它的值為${sessionScope.user.userName},用.的方式無法動態賦值
4、若要在頁面顯示El表達式,在EL表達式的前面加上一個反斜杠,例如:\${1.2+4.5}

 

 

 

關於struts.xml使用el

跳轉的地址如果有參數的話,可以用${yourParameter}表示參數,比如:
<action name="" class="">
   <result>/success.jsp?t=${type}</result>
</action>
不過 這個type要是你的class里面的一個字段,要有get,set方法的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM