EL表达式:从四大域对象中获取数据并显示到页面上。
ELDemo.jsp文件:
<%@ page language="java" import="java.util.*,com.neu.domain.Student" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>使用EL表达式获取对象的属性</title>
</head>
<body>
<br/>-------EL是从四个域范围中查找数据的(不要忘记)---------<br/>
<%
Student s1 = new Student();
request.setAttribute("s", s1);
%>
${s}
<%--模拟原理
Student s = (Student)pageContext.findAttribute("s");
out.write(s);
--%>
<br/>-------EL获取JavaBean的属性---------<br/>
${s.name}=${s["name"]}=${s['name']}
<br/>-------EL获取JavaBean的关联对象的属性---------<br/>
${s.address.province}=${s.address.city}
<hr/>
<br/>-------EL获取数组中的元素---------<br/>
<%
String strs[] = {"陈冠希","钟欣桐","张白痴","谢霆锋"};
pageContext.setAttribute("strs", strs);
%>
${strs[1]}${strs[100]}
<br/>-------EL获取List的元素---------<br/>
<%
List<String> list = new ArrayList<String>();
list.add("aaa");
list.add("bbb");
list.add("ccc");
pageContext.setAttribute("list", list);
%>
${list[1]}
<br/>-------EL获取Map的数据:Map.Entry getKey getValue---------<br/>
<%
Map map = new HashMap();//根据key获取value
map.put("a", "aaaa");
map.put("b", "bbbb");
map.put("c", "cccc");
pageContext.setAttribute("map", map);
%>
${map.b}
</body>
</html>
Student.java文件:
package com.neu.domain;
import java.io.Serializable;
public class Student implements Serializable {
private String name = "张三";
private String gender;
private int age;
private Address address = new Address();
public Student(){}
public Student(String name, String gender, int age) {
super();
this.name = name;
this.gender = gender;
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
}
Address.java文件:
package com.neu.domain;
public class Address {
private String province = "山东省";
private String city = "济南市";
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public String getCity() {
return city;
}
public void setCity(String city) {
this.city = city;
}
}
运行:http://localhost:8080/EL_project/ELDemo.jsp
结果:
——-EL是从四个域范围中查找数据的(不要忘记)———
[email protected]
——-EL获取JavaBean的属性———
张三=张三=张三
——-EL获取JavaBean的关联对象的属性———
山东省=济南市
——-EL获取数组中的元素———
钟欣桐
——-EL获取List的元素———
bbb
——-EL获取Map的数据:Map.Entry getKey getValue———
bbbb