EL表達式語言
①EL的基本語法
1.EL概述
EL即Expression Language,表達式語言,是JSP2.0中引入的一種計算和輸出Java對象的簡單語言,為不熟悉JSP頁麵開發的人提供了一種開發JSP應用程序的新途徑。
2.使用EL的前提條件----確認EL沒有被禁用。(JSP2.0中默認不禁用EL)
在web.xml中寫入以下語句將禁用EL
<jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>true</el-ignored> ... </jsp-config>
3.語法格式為${…}形式,如:
${“hello”}將在頁麵上輸出”hello”字符串
4.EL的特點
1)<%=request.getParameter(“username”) %>
等價於:${param.username}
2)<%=request.getAttribue(“id”) %>
等價於:${requestScope.id}
5.EL的存取範圍
requestScope 1, sessionScope 2, applicationScope 3,pageScope 4
${applicationScope.username} 3
執行順序是:4->1->2->3
②EL的運算符
舉例:
<% String arrFruit={“a”,”b”,”c”};>
request.setAttribute(“fruit”,arrFruit);
%>
${requestScope.fruit[1]}
<% Map map=new HashMap();
map.put(“1”,”a”); map.put(“2”,”b”);
map.put(“3”,“c”);
session.setAttribute(“fruit”,map); %>
${sessionScope.fruit[“1”]}
2. 算術運算符---+, -, *, /或div, %或mod
舉例:
${16/3}, ${16 div 3}, ${5 mod 2}, ${5%2}
注意:${“a”+”b”}寫法錯誤,應寫成:${“a”}${“b”}
3.關係運算符
==/eq
!=/ne
</lt
<=/le
>/gt
>=/ge
舉例:
${1==3}, ${1 le 3},
${param.pwd1!=param.pwd2}
4.邏輯運算符
&&/and
||/or
!/not
舉例:
${username==“root”|| pwd==“123”}
${!username==“root”}
5.empty運算符
判斷一個對象是否為空,和null不同。
舉例:
${empty sessionScope.user}
${not empty pageScope.user}
6.條件運算符
? :
舉例:
${empty user?”user為空”:user}
7.運算符優先級【從高到低】
[] .
()
-(負號) not ! Empty
* /div % mod
+ -(減號)
< lt<=le > gt>=ge
== eq !=ne
&& and
|| or
?:
③EL的隱含對象
隱含對象 | 對象類型 | 說明 | |
頁麵上下文 | PageContext | javax.servlet.jsp.PageContext | 用於訪問JSP內置對象 |
A1 | param | java.util.map | 包含頁麵所有參數的名稱和對應值 |
A2 | paramValues | java.util.map | 包含頁麵所有參數的名稱和對應的多個值 |
A3 | header | java.util.map | 包含header名和值 |
A4 | headerValues | java.util.map | 包含header名和多個值 |
A5 | cookie | java.util.map | 包含cookie名和值 |
A6 | initParam | java.util.map | 包含servlet上下文初始參數名和值 |
B1 | pageScope | java.util.map | 包含page範圍內的屬性 |
B2 | requestScope | java.util.map | 包含request範圍內的屬性 |
B3 | sessionScope | java.util.map | 包含session範圍內的屬性 |
B4 | applicationScope | java.util.map | 包含application範圍內的屬性 |
注:A1~A6 代表訪問環境信息
B1~B4 代表訪問作用域信息
1.PageContext用於訪問JSP內置對象
${PageContext.session.username}
2.param和paramValues用於獲得請求參數值
<inputname=“check” type=“checkbox” id=“like” value=“English”>
<inputname=“check” type=“checkbox” id=“like” value=“Chinese”>
<inputname=“check” type=“checkbox” id=“like” value=“Math”>
愛好為:
${paramValues.like[0]}${paramValues.like[1]}${paramValues.like[2]}
3.header和headerValues用於獲取http請求的header值
${header.host}, ${header[host]},
${header[“user-agent”]}
4.pageScope等用於訪問作用域範圍的內置對象
${sessionScope.user}
5.cookie用於訪問設置的cookie對象
<%Cookie cookie=new Cookie(“user”,”abc”);
reponse.addCookie(“cookie”);%>
${cookie.user.value}—將顯示abc
6.initParam用於獲取Web初始參數值
<context-param>
<param-name>programer</param-name>
<param-value>FataliBud</param-value>
…
${initParam.teacher}—將顯示:FataliBud
最後:其他資料可參加百度百科需學習。
最後更新:2017-04-03 14:54:11