JSP не может правильно оценить индекс массива - PullRequest
0 голосов
/ 09 декабря 2018

Для простого веб-приложения я пытаюсь напечатать значение ArrayList на стороне jsp крайне неинтуитивно.Я с трудом собираю эту штуку вместе.

Это приложение 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.Почему?

1 Ответ

0 голосов
/ 09 декабря 2018

Вы должны добавить 2 объекта в список (или удалить po.setName("Ball");):

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

Также рассмотрите возможность использования конструктора, который принимает имя

...