使用EL表达式获取数据

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是从四个域范围中查找数据的(不要忘记)———
com.neu.domain.Student@1e45b09
——-EL获取JavaBean的属性———
张三=张三=张三
——-EL获取JavaBean的关联对象的属性———
山东省=济南市

——-EL获取数组中的元素———
钟欣桐
——-EL获取List的元素———
bbb
——-EL获取Map的数据:Map.Entry getKey getValue———
bbbb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值