【问题标题】:JSP cannot evaluate array index properlyJSP 无法正确评估数组索引
【发布时间】:2019-05-10 15:15:45
【问题描述】:

对于一个简单的 webapp,我试图在 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。为什么?

【问题讨论】:

    标签: java spring jsp jstl el


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您的快速回复。我现在看到了我的问题。尝试在此处发布时,我最终覆盖了该对象的相同字段。对在这里提问持怀疑态度,但基于我得到回复的速度,现在我有动力自己在这里帮助其他人。
    猜你喜欢
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 2021-06-27
    • 1970-01-01
    相关资源
    最近更新 更多