JSP頁面中EL運算式語言的使用詳解

來源:互聯網
上載者:User

標籤:對象   javabean   jsp   bean   el   

JavaBean在JSP中的局限
擷取JavaBean屬性必須要執行個體化
強制類型轉化

<%    Employee employee = (Employee)request.getAttribute("employee");    Computer comp = employee.getComputer();    String manufacturer = comp.getManufacturer();%>

如果頁面編寫出現邏輯錯誤,將會導致代碼執行錯誤,並且JSP頁面編譯頁面時也會產生錯誤


解決辦法
使用EL運算式簡化

什麼是EL 
EL即Expression Language(運算式語言)
EL的功能
替代JSP頁面中的複雜代碼
EL的文法
${  EL exprission }
${  bean.name } 或  ${  bean[‘name‘] }

${bean.name}實質是調用bean的getName()方法

註: 1 el通過.和[]來存取資料。  例如${applicationScope.user.userName}或者${applicationScope.user["userName"]}       

  2 如果存取的屬性名稱包含一些特殊符號,如"."或者是"-"等非字母或數字記號必須用[]  

3 applicationScope.user["user-Name"]  

  4 如果使用變數來傳入,那麼也只能使用[].例如 

<%String data="username";%> 

${applicationScope.user[data]}   

5 當然有四個隱含對象:applicationScope,sessionScope,requestScope,pageScope.與application  ,session,request,pageContext相對應.例如applicationScope用來擷取application範圍的屬性值  

自動轉換類型 
EL得到某個資料時可以自動轉換類型 
對於類型的限制更加寬鬆
使用簡單 
相比較在JSP中嵌入Java代碼,EL應用更簡單



EL文法 



以“${”作為開始,以“}”作為結束
直接使用變數名擷取值$
${  username }



變數屬性範圍名稱

屬性範圍            EL中的名稱
page pageScope,例如${pageScope.username},表示在page範圍內尋找username變數,找不到返回Null
request requstScope
session sessionScope
application applicationScope


EL運算子
運算子”[ ]”
運算子”.”
作用
擷取對象屬性




擷取對象集合中的資料
在Session中儲存了一個(list)集合users



簡單應用:輸出姓名顯示

<%
    Map names = new HashMap();
    names.put("one","LiYang");
    names.put("two","WangHua");
    request.setAttribute("names",names);
%>
姓名:${names.one}<br/>
姓名:${names["two"] }<br/>



EL隱式對象介紹 


對象名稱 說  明
pageScope 返回頁面範圍的變數名,這些名稱已映射至相應的值
requestScope 返回請求範圍的變數名,這些名稱已映射至相應的值
sessionScope 返回會話範圍的變數名,這些名稱已映射至相應的值
applicationScope 返回應用範圍內的變數,並將變數名映射至相應的值
param 返回用戶端的請求參數的字串值
paramValues 返回映射至用戶端的請求參數的一組值
pageContext 提供對使用者請求和頁面資訊的訪問



JSP頁面中EL運算式語言的使用詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.