Web项目(十九)EL表达式(二)EL 表达式输出 Bean 的属性

创建一个实体类Person,类中定义(普通属性、数组属性、List集合属性和map集合属性,然后再jsp上输出响应的属性
package com.example;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Objects;

public class Person<T> {

    private T id;
    private T[] data;
    private List<T> list;
    private Map<T,Object> map;

    public Person() {
    }

    public Person(T id, T[] data, List<T> list, Map<T, Object> map) {
        this.id = id;
        this.data = data;
        this.list = list;
        this.map = map;
    }

    public T getId() {
        return id;
    }

    public void setId(T id) {
        this.id = id;
    }

    public T[] getData() {
        return data;
    }

    public void setData(T[] data) {
        this.data = data;
    }

    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }

    public Map<T, Object> getMap() {
        return map;
    }

    public void setMap(Map<T, Object> map) {
        this.map = map;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Person<?> person = (Person<?>) o;
        return Objects.equals(id, person.id) && Arrays.equals(data, person.data) && Objects.equals(list, person.list) && Objects.equals(map, person.map);
    }

    @Override
    public int hashCode() {
        int result = Objects.hash(id, list, map);
        result = 31 * result + Arrays.hashCode(data);
        return result;
    }

    @Override
    public String toString() {
        return "Person{" +
                "id=" + id +
                ", data=" + Arrays.toString(data) +
                ", list=" + list +
                ", map=" + map +
                '}';
    }
}

<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="com.example.Person" %>
<%@ page import="java.time.LocalDateTime" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<body>
<!-- 声明脚本 -->
<%!
    List<String> list = new ArrayList<>(3);
    String[] data = new String[3];
    Map<String,Object> map = new HashMap<>(3);
    Person<String> person = null;
%>
<!-- 代码脚本 -->
<%
    list.add("上海");
    list.add("广州");
    list.add("北京");

    data[0] = "AA";
    data[1] = "BB";
    data[2] = "CC";

    map.put("key1", LocalDateTime.now());
    map.put("key2",true);
    map.put("key3", "hello");

    person = new Person<>("1001",data,list,map);
    pageContext.setAttribute("p",person);
%>

<!-- 输出保存在page域中的Person类数据 -->
输出Person类中的id属性值:${p.id} <br/>
输出Person类中的data数组属性值:${p.data[1]} <br/>
输出Person列中的list集合属性值:${p.list.get(1)} <br/>
输出Person类中的Map集合属性值:${p.map}<br/>
输出Person类中的Map集合属性指定key的value值:${p.map.key1}
</body>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Allen019

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值