EL表達式html
1. EL是JSP內置的表達式語言!
* jsp2.0開始,不讓再使用java腳本,而是使用el表達式和動態標籤來替代java腳本!
* EL替代的是<%= ... %>,也就是說,EL只能作輸出!java
2. EL表達式來讀取四大域
* ${xxx},全域查找名爲xxx的屬性,若是不存在,輸出空字符串,而不是null。
* ${pageScope.xxx}、${requestScope.xxx}、${sessionScope.xxx}、${applicationScope.xxx},指定域獲取屬性!session
3. javaBean導航。app
4. EL能夠輸出的東西都在11個內置對象中!11個內置對象,其中10個是Map!pageContext不是map,它就是PageContext類型,1個項9個。jsp
下面就來演示一下EL表達式的JavaBean導航功能:首先咱們建立一個JavaBean,包取名com.TestEL.Bean。其中兩個java文件(Employer、Address)。而後建立一個jsp頁面用做El表達式測試(ELBean.jsp)測試
<Employer.java>ui
package com.TestEL.Bean; public class Employer { private String name; private double salary; private Address address; public String getName() { return name; } public void setName(String name) { this.name = name; } public double getSalary() { return salary; } public void setSalary(double salary) { this.salary = salary; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } public String getHehe() { return "我去、、、"; } }
<Address.java>this
package com.TestEL.Bean; public class Address { private String city; private String street; public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } }
<ELBean.jsp>spa
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="com.TestEL.Bean.*"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>測試使用EL表達式的 JavaBean導航 功能(EL是jsp內置的表達式語言)</title> </head> <body> <% Address adr = new Address(); adr.setCity("北京"); adr.setStreet("長安街"); Employer emp = new Employer(); emp.setName("張颯"); emp.setSalary(43233); emp.setAddress(adr); emp.getHehe(); request.setAttribute("emp",emp); //存入一個類到request域中,也能夠使用<jsp:useBean>的方式存入。 %> <h3>使用el獲取request域中的emp(el的JavaBean導航)</h3> ${requestScope.emp.name } ${requestScope.emp.salary } <%--注意方法字母要小寫 --%> ${emp.hehe } <%--可見EL表達式還能夠獲取JavaBean中的任意get方法,即便該方法沒有對應的屬性 --%> ${requestScope.emp.address.street } <%--式子解析: request.getAttribute("emp").getAddress().getStreet() --%> </body> </html>
EL表達式解析未完待續。。。code