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 分钟前
m319个人网站的设计与实现
java·数据库·spring·tomcat·maven·intellij-idea
Zzj_tju16 分钟前
Java 从入门到精通(十二):File 与 IO 流基础,为什么程序“读写文件”时总是容易出问题?
java·python·php
橘子编程1 小时前
操作系统原理:从入门到精通全解析
java·linux·开发语言·windows·计算机网络·面试
飞Link1 小时前
LangGraph 核心架构解析:节点 (Nodes) 与边 (Edges) 的工作机制及实战指南
java·开发语言·python·算法·架构
xuhaoyu_cpp_java1 小时前
Boyer-Moore 投票算法
java·经验分享·笔记·学习·算法
JavaEdge.1 小时前
Chrome加载已解压的扩展程序-清单文件缺失或不可读取 无法加载清单
java
iReachers2 小时前
HTML打包EXE配置管理教程:多项目打包设置一键保存、加载与切换
java·前端·javascript
XiYang-DING2 小时前
【Java】堆
java·开发语言
Lyyaoo.2 小时前
【Java基础面经】Java 反射机制
java·开发语言·python
YXWik62 小时前
Langchain4j(1)基础对话+连续对话+工具调用 + 流式响应+结构化 JSON 输出
java