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

运行代码如下

相关推荐
一只小青团3 小时前
Python之面向对象和类
java·开发语言
qq_529835354 小时前
ThreadLocal内存泄漏 强引用vs弱引用
java·开发语言·jvm
落笔画忧愁e4 小时前
扣子Coze飞书多维表插件添加数据记录
java·服务器·飞书
秋千码途6 小时前
小架构step系列08:logback.xml的配置
xml·java·logback
飞翔的佩奇6 小时前
Java项目:基于SSM框架实现的旅游协会管理系统【ssm+B/S架构+源码+数据库+毕业论文】
java·数据库·mysql·毕业设计·ssm·旅游·jsp
LCG元6 小时前
Windows实时内核驱动的数据捕获接口:高精度时钟与零拷贝的架构剖析
windows·架构
时来天地皆同力.7 小时前
Java面试基础:概念
java·开发语言·jvm
找不到、了7 小时前
Spring的Bean原型模式下的使用
java·spring·原型模式
阿华的代码王国7 小时前
【Android】搭配安卓环境及设备连接
android·java
YuTaoShao8 小时前
【LeetCode 热题 100】141. 环形链表——快慢指针
java·算法·leetcode·链表