【问题标题】:Passing value from controller to view spring mvc从控制器传递值以查看 spring mvc
【发布时间】:2018-12-18 14:02:43
【问题描述】:

我对春天很陌生。从我的控制器中,我得到了一个列表输出。

[[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>

如何从列表中获取值并显示在正文部分?

【问题讨论】:

    标签: java spring-boot spring-mvc model-view-controller


    【解决方案1】:

    首先,您需要确保呈现视图的控制器将 List 属性传递给模型。如果您提供的列表属性称为文章,您的正文标签应该为列表配置一个迭代器,例如:

    <tbody>
    <tr th:each="article : ${articles}">
    <td th:text="${article.title}"><td>
    <td th:text="${article.description}"><td>
    </tr>
    </tbody>
    

    【讨论】:

      【解决方案2】:

      mkez00 的回答 (+1) 将解决您的问题。我仍然想向您展示没有任何模板引擎(Thymeleaf)的相同内容,就像您说您对 Spring 非常陌生。

      您首先需要了解的几件事:

      [这些来自 JavaEE 5 教程,但仍然相关。利用各种可用资源进行自己的研究!]

      现在解决您的问题,如果您将 ListArticle 对象放在控制器中的模型中,如下所示:

      model.put("articles", yourListOfArticles);
      

      在视图中(此处为JSP),您可以执行以下操作来显示您想要的表格:

      articles.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>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多