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

运行代码如下

相关推荐
恋爱绝缘体11 分钟前
Java语言提供了八种基本类型。六种数字类型【函数基数噶】
java·python·算法
MX_935922 分钟前
使用Spring的BeanFactoryPostProcessor扩展点完成自定义注解扫描
java·后端·spring
弹简特23 分钟前
【JavaEE05-后端部分】使用idea社区版从零开始创建第一个 SpringBoot 程序
java·spring boot·后端
1104.北光c°25 分钟前
【黑马点评项目笔记 | 登录篇】Redis实现共享Session登录
java·开发语言·数据库·redis·笔记·spring·java-ee
爬山算法27 分钟前
Hibernate(81)如何在数据同步中使用Hibernate?
java·后端·hibernate
毕设源码-钟学长38 分钟前
【开题答辩全过程】以 基于javaweb的音乐节管理系统为例,包含答辩的问题和答案
java·eclipse
启山智软1 小时前
供应链商城核心功能模块清单
java·前端·开源
IDC02_FEIYA1 小时前
Windows资源管理器未响应怎么处理?
运维·服务器·windows
是萧萧吖1 小时前
每日一练——有效的括号
java·开发语言·javascript
程序员欣宸1 小时前
LangChain4j实战之十六:RAG (检索增强生成),Naive RAG
java·人工智能·ai·langchain4j