JSP EL表达式获取list/Map集合与java Bean对象

上文 JSP EL表达式基本使用 中 我们对EL表达式做了一个基本的了解 也做了基础的字符串数据使用

那么 我们可以来看一下我们的集合

首先 list 这个比较简单 我们直接这样写代码

html 复制代码
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<%
    List<String> list = new ArrayList<>();
    list.add("aaa");
    list.add("bbb");
    list.add("ccc");
    request.setAttribute("list", list);
%>
<h1>获取list集合长度</h1>
<p>${list.size()}</p>
<h1>获取list指定 1 下标</h1>
<p>${list[1]}</p>
</body>
</html>

首先 要用list 我们要引入 java.util.List和java.util.ArrayList

然后 我们在java代码中声明了一个list集合 我们加入了三条数据

然后将他放在request 作用域中

然后 下面我们通过 EL表达式 输出长度就是集合名.size函数就好了

然后 指定下标 就是 集合名 中括号 里面放入指定的下标值

我们运行界面

这边 我们集合长度确实是三条

然后 指定1下标 因为下标是从0开始的 第二个确实是bbb 也是没有任何问题

我们再来看 Map

我们写代码如下

html 复制代码
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<%
    Map map = new HashMap();
    map.put("aaa","111");
    map.put("bbb","222");
    map.put("ccc","333");
    request.setAttribute("Map", map);
%>
<h1>通过点键名获取value</h1>
<p>${Map.aaa}</p>
<h1>通过中括号 获取键对应value</h1>
<p>${Map["bbb"]}</p>
</body>
</html>

这里 我们要用 Map 要导入 java.util.Map和java.util.HashMap

然后 我声明一个 Map

用 中括号 里面写键 和 直接集合名点键名的方式获取value

页面运行之后

运行也是没有任何问题

然后就是 java bean对象

我们在java文件这里 新建一个包 我这里叫 attribute

这个名字随便取

然后 我在下面创建一个类 这里我直接叫 users 用户类

这里 参考代码如下

java 复制代码
package com.example.dom.attribute;

public class users {
    private int id;
    private String name;

    public void setName(String name) {
        this.name = name;
    }

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

    public String getName() {
        return name;
    }

    public int getId() {
        return id;
    }
}

这里 我定义了基本的 id和name 然后 给他们提供了 get set函数

然后 我们jsp中这样写

html 复制代码
<%@ page import="com.example.dom.attribute.users" %>
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%request.setCharacterEncoding("UTF-8");%>
<!DOCTYPE html>
<html>
<head>
    <title>JSP - Hello World</title>
</head>
<body>
<%
    users user = new users();
    user.setId(1);
    user.setName("小猫猫");
    request.setAttribute("user", user);
%>
<h1>user java bean</h1>
<p>${user}</p>
<h1>通过属性名 获取值</h1>
<p>${user["name"]}</p>
<p>${user.name}</p>
<p>${user.getName()}</p>
</body>
</html>

首先 com.example.dom.attribute.users 导入我们的java类

然后 创建一个对象 直接 set 写入 id和name的值

下面我们直接在EL中使用

有三种方式 第一种 对象后面点属性名 对象后面中括号放属性名 对象后面直接使用get函数

运行代码如下

相关推荐
武子康2 小时前
Java-72 深入浅出 RPC Dubbo 上手 生产者模块详解
java·spring boot·分布式·后端·rpc·dubbo·nio
_殊途2 小时前
《Java HashMap底层原理全解析(源码+性能+面试)》
java·数据结构·算法
椰椰椰耶3 小时前
【Spring】拦截器详解
java·后端·spring
没有bug.的程序员4 小时前
JAVA面试宝典 - 《MyBatis 进阶:插件开发与二级缓存》
java·面试·mybatis
没有羊的王K5 小时前
SSM框架学习——day1
java·学习
又菜又爱coding6 小时前
安装Keycloak并启动服务(macOS)
java·keycloak
不知道叫什么呀6 小时前
【C】vector和array的区别
java·c语言·开发语言·aigc
liulilittle6 小时前
.NET ExpandoObject 技术原理解析
开发语言·网络·windows·c#·.net·net·动态编程
wan_da_ren6 小时前
JVM监控及诊断工具-GUI篇
java·开发语言·jvm·后端
cui_hao_nan7 小时前
JAVA并发——什么是Java的原子性、可见性和有序性
java·开发语言