04-EL表达式-获取对象值 JavaBean 对象、Map 对象和数组对象的值

文章讲述了如何在JSP中使用EL表达式获取JavaBean对象、Map对象和数组对象的属性值。首先,展示了如何通过Getter方法获取JavaBean的属性,然后说明了通过键获取Map对象的值,最后介绍了通过索引访问数组元素的方法。同时,提到了处理特殊键名和数组长度的注意事项。
摘要由CSDN通过智能技术生成

1、获取 JavaBean 对象的值

JavaBean 指的是符合一定规范的 Java 类型,包含私有属性、公共的 Getter 和 Setter 方法以及无参的构造方法。在 JSP 页面中可以使用 EL 表达式获取 JavaBean 对象的属性值,即通过 Getter 方法获得属性值。语法为 ${JavaBean对象.属性名称}。

// 定义一个 JavaBean 类:Student
public class Student {
    private String name;
    private int age;

    // Getter 和 Setter 方法省略
}

// 在 Servlet 中设置属性 student
Student student = new Student();
student.setName("张三");
student.setAge(18);
request.setAttribute("student", student);

// 在 JSP 中获取属性 student 的属性值
<p>${student.name}</p>
<p>${student.age}</p>

2、获取 Map 对象的值

在 JSP 页面中可以通过 EL 表达式获取 Map 对象的属性值,即通过键获得对应的值。其语法为 ${Map对象.key}。

// 在 Servlet 中设置属性 map
Map<String, Object> map = new HashMap<>();
map.put("name", "张三");
map.put("age", 18);
request.setAttribute("map", map);

// 在 JSP 中获取属性 map 的属性值
<p>${map.name}</p>
<p>${map.age}</p>

在上面的示例中,我们先在 Servlet 中设置了一个名为 map 的属性,其类型为 Map<String, Object>,然后将其设置为 request 对象的属性。接下来,在 JSP 中使用 EL 表达式获取 map 对象的键值对,即 ${map.name} 和 ${map.age}。这样就可以方便地获取 Map 对象的属性值,并在 JSP 页面上进行展示。

需要注意的是,如果 Map 对象中的键值对的键名称中包含特殊字符(如 "."),则需要使用中括号 [] 来获取对应的值,例如:${map['key.name']}。

3、 获取数组对象的值 

在 JSP 页面中可以通过 EL 表达式获取数组对象的属性值,即通过索引获得对应的元素值。其语法为 ${数组对象[索引]}。

// 在 Servlet 中设置属性 array
int[] array = {1, 2, 3};
request.setAttribute("array", array);

// 在 JSP 中获取属性 array 的属性值
<p>${array[0]}</p>
<p>${array[1]}</p>
<p>${array[2]}</p>

在上面的示例中,我们先在 Servlet 中设置了一个名为 array 的属性,其类型为 int[],然后将其设置为 request 对象的属性。接下来,在 JSP 中使用 EL 表达式获取 array 对象的元素值,即 {array[0]}、array[0]、{array[1]} 和 ${array[2]}。这样就可以方便地获取数组对象的属性值,并在 JSP 页面上进行展示。

需要注意的是,EL 表达式中的索引从 0 开始计数,如果索引超出了数组的长度,则会报 IndexOutOfBoundsExcetion 异常。另外,还可以使用 EL 表达式的特殊关键字 length 获取数组的长度,例如:${array.length}。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值