1. 程式人生 > >學習筆記:EL表示式 實現資料回顯

學習筆記:EL表示式 實現資料回顯

EL 全名為Expression Language。EL主要作用:


獲取資料:

EL表示式主要用於替換JSP頁面中的指令碼表示式,以從各種型別的web域 中檢索java物件、獲取資料。(某個web域 中的物件,訪問javabean的屬性、訪問list集合、訪問map集合、訪問陣列)


執行運算:
利用EL表示式可以在JSP頁面中執行一些基本的關係運算、邏輯運算和算術運算,以在JSP頁面中完成一些簡單的邏輯運算。${user==null}


獲取web開發常用物件
EL 表示式定義了一些隱式物件,利用這些隱式物件,web開發人員可以很輕鬆獲得對web常用物件的引用,從而獲得這些物件中的資料。

11個隱藏物件:

param
paramValues
header
headerValues
cookies
initParam
pageScope
requestScope
sessionScope
applicationScope
pageContext


呼叫Java方法
EL表示式允許使用者開發自定義EL函式,以在JSP頁面中通過EL表示式呼叫Java類的方法。

EL表示式語法允許開發人員開發自定義函式,以呼叫Java類的方法。
示例:${prefix:method(params)}
在EL表示式中呼叫的只能是Java類的靜態方法。
這個Java類的靜態方法需要在TLD檔案中描述,才可以被EL表示式呼叫。
EL自定義函式用於擴充套件EL表示式的功能,可以讓EL表示式完成普通Java程式程式碼所能完成的功能。

下面實現一個註冊失敗後,返回註冊頁面,之前填寫的內容回顯的功能:

用param物件可以做到:

<input type="radio" name="gender" value="male" ${param.gender=='male'?'checked':'' }>男
<input type="radio" name="gender" value="female" ${param.gender=='female'?'checked':'' }>女

用el函式做到:

1.先匯入

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

2.用了fn:contains和fn:join方法

<input type="checkbox" name="likes" value="football" ${fn:contains(fn:join(user.likes,","),"football")?'checked':'' }>足球