EL表達式的JavaBean導航功能

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

相關文章
相關標籤/搜索