Передача значения из контроллера для просмотра пружинного MVC - PullRequest
0 голосов
/ 18 декабря 2018

Я очень новичок в весне.Из моего контроллера я получил вывод списка.

[[Article@42e72033 id = 1, title = 'Hello', description = 'Description', author = 'eeee'], [Article@7702e860 id = 2, title = 'Hello', description = 'Description', author = 'eeee'], [Article@3c2731ff id = 3, title = 'Hello', description = 'Description', author = 'eeee'], [Article@157e7973 id = 4, title = 'qqqq', description = 'qqqqq', author = 'qqqqq']] Я хочу использовать заголовок, описание и автора в моих статьях / view.html, который в настоящее время выглядит следующим образом:

<!DOCTYPE html>

<html xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/layout :: layout (~{::body},'owners')}">

<body>


<table id="vets" class="table table-striped">
    <thead>
    <tr>
        <th style="width: 150px;">Title</th>

        <th>Description</th>
        <th style="width: 120px">Author</th>

    </tr>
    </thead>

    <tbody>

    </tbody>
</table>

</body>
</html>

Как получить значения из списка иотображение в разделе тела?

Ответы [ 2 ]

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

Ответ mkez00 (+1) решит вашу проблему.Тем не менее я хотел бы показать вам то же самое без какого-либо шаблонизатора (Thymeleaf), поскольку вы сказали, что вы новичок в Spring.

Несколько вещей, о которых вам нужно знать в первую очередь:

[Это из учебника по JavaEE 5, но все еще актуально.Сделайте свое собственное исследование из различных доступных ресурсов!]

Теперь к вашей проблеме, если вы поместили List ваших Article объектов в модель в вашем контроллере следующим образом:

model.put("articles", yourListOfArticles);

(a JSP здесь), вы можете сделать следующее, чтобы показать нужную таблицу:

article.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

<html>
<head>
    <title>Foo</title>
</head>

<body>
    <table id="vets" class="table table-striped">
        <thead>
            <tr>
                <th style="width: 150px;">Title</th>
                <th>Description</th>
                <th style="width: 120px">Author</th>
            </tr>
        </thead>

        <tbody>
            <c:forEach items="${articles}" var="article">
                <tr>
                    <td><c:out value="${article.title}"/></td>
                    <td><c:out value="${article.description}"/></td>
                    <td><c:out value="${article.author}"/></td>
                </tr>
            </c:forEach>
        </tbody>
    </table>
</body>
</html>
0 голосов
/ 18 декабря 2018

Сначала необходимо убедиться, что контроллер, который отображает представление, передает атрибут List в модель.Если атрибут списка, который вы предоставляете, называется article, у вашего тега body должен быть настроен итератор для списка, например:

<tbody>
<tr th:each="article : ${articles}">
<td th:text="${article.title}"><td>
<td th:text="${article.description}"><td>
</tr>
</tbody>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...