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函数

运行代码如下

相关推荐
爱吃土豆的马铃薯ㅤㅤㅤㅤㅤㅤㅤㅤㅤ1 分钟前
通过java后端代码来实现给word内容补充格式文本内容控件,以及 设置控件的标记和标题
java·c#·word
無限進步D1 小时前
Java 面向对象高级 接口
java·开发语言
逸Y 仙X1 小时前
文章二十七:ElasticSearch ES查询模板(Search Template)高效复用实战
java·大数据·数据库·elasticsearch·搜索引擎·全文检索
二哈赛车手2 小时前
新人笔记---Spring AI的Advisor以及其底层机制讲解(涉及源码),包含一些遇见的Spring AI的Advisor缺陷问题的解决方案
java·人工智能·spring boot·笔记·spring
AC赳赳老秦2 小时前
接口测试自动化:用 OpenClaw 对接 Postman,实现批量回归测试、测试报告自动生成与推送
java·人工智能·python·算法·elasticsearch·deepseek·openclaw
两年半的个人练习生^_^2 小时前
Java日志框架和使用、日志记录规范
java·开发语言·开发规范
pq2172 小时前
最简单的理解synchronized锁升级
java
杨凯凡2 小时前
【032】排查入门:jstack、heap dump、Arthas 初识
java·开发语言·后端
pq2172 小时前
Spring FactoryBean源码解析
java·spring boot·spring