java - JSP 无法正确评估数组索引

标签 java spring jsp jstl el

对于一个简单的Web应用程序,我尝试在jsp端打印ArrayList的值是非常不直观的。我很难将这件事拼凑在一起。

这是一个 Spring Boot 应用程序,以下是我发送的响应内容 --

@GetMapping("/")
public String welcome(Map<String, Object> model) {
    List<APojo> lis = new ArrayList<>();
    APojo po = new APojo();
    po.setName("Apple");
    po.setName("Ball");
    lis.add(po);
    model.put("fruits", lis);
    return "index";
}

index.jsp 页面 --

<html>
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html lang="en">
<head>
<title>Title goes here</title>
</head>
<body>
    <c:set var = "fruitVal" value = "${fruits[0].name}"/>
    <h2>Value: ${fruitVal}</h2>
</body>
</html>

我希望它显示 Apple,但它一直打印 Ball。为什么?

最佳答案

您应该向列表中添加 2 个对象(或删除 po.setName("Ball");):

APojo po = new APojo();
po.setName("Apple");
lis.add(po);
po = new APojo();
po.setName("Ball");
lis.add(po);

还考虑使用接受名称的构造函数

关于java - JSP 无法正确评估数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53693517/

相关文章:

java - 重构JSP页面

java - jsp下oracle数据库查询没有结果

java - Intellij Spring 集成图无法通过消息模板检测连接

java - Spring 3.1 Web 应用程序问题

java - Spring Boot是否自动解析javax和hibernate验证注解中的消息键

Spring 启动 : Executing the Newer version of SQL file each time we rebuild the application

java - 如何使用 partitioningBy,然后使用 Java Streams 分别对结果列表进行排序

java - 在 Hadoop 中以序列文件格式写入/读取键/值对。

java - 循环处理异常

java - 返回到发出重定向请求的页面