EL表达式的JavaBean导航功能

EL表达式


1. EL是JSP内置的表达式语言
  * jsp2.0开始,不让再使用java脚本,而是使用el表达式和动态标签来替代java脚本!
  * EL替代的是<%= ... %>,也就是说,EL只能做输出

2. EL表达式来读取四大域
  * ${xxx},全域查找名为xxx的属性,如果不存在,输出空字符串,而不是null。
  * ${pageScope.xxx}、${requestScope.xxx}、${sessionScope.xxx}、${applicationScope.xxx},指定域获取属性!

3. javaBean导航。

4. EL可以输出的东西都在11个内置对象中!11个内置对象,其中10个是Map!pageContext不是map,它就是PageContext类型,1个项9个。

 

      下面就来演示一下EL表达式的JavaBean导航功能:首先我们创建一个JavaBean,包取名com.TestEL.Bean。其中两个java文件(Employer、Address)。然后创建一个jsp页面用作El表达式测试(ELBean.jsp)

<Employer.java>

 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>

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>

 <%@ 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表达式解析未完待续。。。

你可能感兴趣的:(javabean,el表达式,导航)