创建一个实体类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>