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

Я использую hibernate, чтобы получить предметы, связанные с конкретным пользователем. В mainPage я хочу видеть firstName и LastName (это работает) пользователя и разрешенные темы. Но по какой-то причине я не могу успешно перебрать список предметов, помещенных в mainPage.

В моем контроллере Spring у меня есть метод, который выглядит следующим образом:

@RequestMapping(value = "/signin", method = RequestMethod.POST)
    public String SignIn(@ModelAttribute("user") User user, ModelMap modelMap){

        String username = user.getUsername();
        String password = user.getPassword();

        User user1 = userService.getUser(username, password);
        if(user1 != null){

            List<Subject> subjectList = userService.getUserSubjects(user1.getId());

            modelMap.addAttribute("subjects", subjectList);
            modelMap.addAttribute("user", user1);
            return "mainPage";
        }

        modelMap.addAttribute("ShowNotAuthenticated", true);
        return "authentication";
    }

mainPage.jsp выглядит так:

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>Title</title>
    </head>
    <body>
        <h2>Current user: ${user.firstName} ${user.lastName}</h2> //this works
        <br>
        <h3>Allowed subjects:</h3>
    <table>
        <tr>
            <td>
                Subject Name
            </td>
        </tr>
        <c:forEach items="${subjects}" var="x"> //doesn't work
            <tr>
                <td>
                    ${x.name}
                </td>
            </tr>
        </c:forEach>
    </table>
    </body>
</html>

Это метод SignIn во время отладки:

enter image description here

Это картинки в mainPage.jsp:

enter image description here

enter image description here

Mykhailo Moskura предложение тоже не работает:

enter image description here

1 Ответ

0 голосов
/ 09 ноября 2018

Из скриншота отладчика я вижу, что ваш subjectList имеет элементы типа Object[]. Поэтому вам нужно либо изменить то, что вы храните в этом списке, либо попробовать использовать ${x[1]} вместо ${x.name}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...