Expression Language————表達式語言html
獲取數據web
執行運算數組
獲取Web開發經常使用對象cookie
執行Java方法session
<% User user = new User("旺財", "幸福路", 18); pageContext.setAttribute("pageContextUser", user); request.setAttribute("requestUser", user); session.setAttribute("sessionUser", user); application.setAttribute("applicationUser", user); %> <h2>獲取page域對象</h2> ${pageContextUser.name}----${pageContextUser.addr}-----${pageContextUser.age} <br/> ${pageScope.pageContextUser.name}----${pageScope.pageContextUser.addr}-----${pageScope.pageContextUser.age} <hr /> <h2>獲取request域對象</h2> ${requestUser.name}----${requestUser.addr}-----${requestUser.age} <br/> ${requestScope.requestUser.name}----${requestScope.requestUser.addr}-----${requestScope.requestUser.age} <hr /> <h2>獲取session域對象</h2> ${sessionUser.name}----${sessionUser.addr}-----${sessionUser.age} <br/> ${sessionScope.sessionUser.name}----${sessionScope.sessionUser.addr}-----${sessionScope.sessionUser.age} <hr /> <h2>獲取application域對象</h2> ${applicationUser.name}----${applicationUser.addr}-----${applicationUser.age} <br/> ${applicationScope.applicationUser.name}----${applicationScope.applicationUser.addr}-----${applicationScope.applicationUser.age} <hr /> <!-- EL表達式獲取數據的規律: 1.EL表達式只能獲取四大域對象的數據 2.在沒有指定獲取哪一個域的時候從小域到大域開始遍歷獲取 3.固然也能夠指定域:pageScope,requestScope,sessionScope,applicationScope 4.因此若是把對象存在sessionScope或者applicationScope那麼仍是指定一下域,這樣子EL表達式就不用遍歷了 --> <hr /> <% User user2 = new User("小強", "健康街", 28); User[] users = {user,user2}; List<User> userList = new ArrayList<User>(); userList.add(user); userList.add(user2); pageContext.setAttribute("arrayUser", users); pageContext.setAttribute("listUser", userList); %> <h2>利用.和[]獲取數組中的對象中的值</h2> ${pageScope.arrayUser[0].name }---${pageScope.arrayUser[0].addr }---${pageScope.arrayUser[0].age } <br/> ${pageScope.arrayUser[1].name }---${pageScope.arrayUser[1].addr }---${pageScope.arrayUser[1].age } <hr /> <h2>利用.和[]獲取集合中的對象中的值</h2> ${pageScope.listUser[0].name }---${pageScope.listUser[0].addr }---${pageScope.listUser[0].age } <br/> ${pageScope.listUser[1].name }---${pageScope.listUser[1].addr }---${pageScope.listUser[1].age } <hr /> <h2>利用[]獲取對象中的值</h2> ${pageScope.listUser[0]["name"] }---${pageScope.listUser[0]["addr"] }---${pageScope.listUser[0]["age"] } <br/> ${pageScope.listUser[1]["name"] }---${pageScope.listUser[1]["addr"] }---${pageScope.listUser[1]["age"] } <hr /> <!-- EL表達式獲取數據時.和[]的區別 在集合或者數組中能夠使用[]輸入下標來直接獲取值 而.後面不能跟有數字,因此不能做爲下標的獲取標識來使用 []中跟的值要麼是數字,要麼要用""引發來 .後面跟的東西既不能是數字,也不能用""引發來 --> <hr />
EL表達式的11個隱式對象app
pageContextjsp
pageScope函數
requestScopespa
SessionScopecode
ApplicationScope
cookie
initParam
param
paramValues
header
headerValues
注意:若是頭裏面有「-」 ,例Accept-Encoding,則要headerValues[「Accept-Encoding」]
${cookie.key}取的是cookie對象,如訪問cookie的名稱和值,須${cookie.key.name}或${cookie.key.value}
${3+2*8+5/8 }
EL表達式語法容許開發人員開發自定義函數,以調用Java類的方法。
在EL表達式中調用的只能是Java類的靜態方法。
這個Java類的靜態方法須要在TLD(Tagliary Definition)文件中描述,才能夠被EL表達式調用。
EL自定義函數用於擴展EL表達式的功能,能夠讓EL表達式完成普通Java程序代碼所能完成的功能。
求關注啊。。。。。。。