Как заполнить список весной mvc - PullRequest
0 голосов
/ 22 апреля 2019

У меня проблема с заполнением списка с помощью Spring MVC. Я использовал JSTL для отображения списка в моем представлении, но он ничего не отображал. Оказывается, представление не получало ничего от контроллера.

Сначала я предположил, что это могли быть некоторые проблемы со службой или БД, поэтому я прокомментировал код, который использует службу, и поместил в нее точные данные, чтобы выяснить проблему. Но даже с этим, это все еще не работает.

itemController


public class ItemController {
    /*
    @Autowired
    private ItemService itemService;
    */


    @RequestMapping(value = {"/home"}, method= RequestMethod.GET)
    public ModelAndView showItems(ModelAndView model, HttpSession session) {



         //List<Item> items = itemService.findAllItems();
         List<Item> items = new ArrayList<Item>();

         Item itemOne = new Item();
         itemOne.setId(1);
         itemOne.setName("piano");



         Item itemTwo = new Item();
         itemTwo.setId(2);
         itemTwo.setName("guacamole");

         items.add(itemOne);
         items.add(itemTwo);



         model.addObject("items", items);
         model.setViewName("home");

        return model;
    }




}

home.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1" isELIgnored="false" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<!DOCTYPE html>
<html>
<head>
<!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <script type="text/javascript"
            src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
    <script type="text/javascript"></script>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<title>Store</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" >
<style>

.container{
    display:flex;
    justfy-content: center;
}
</style>
</head>
<body>
<div class="jumbotron">
            <div class="container text-center">
                <h1>THE STORE</h1>      
            </div>
        </div>

    <div class="container-fluid bg-3 text-center">
        <h2>Featured Products</h2>
        <div class="row">

            <c:forEach var="item" items="${items}">
                <div class="col-sm-3">
                    <p> <c:out value="${item.name}" /> </p>
                </div>
                <br>
            </c:forEach>
            <c:if test="${not empty items}">
                <ul>
                    <c:forEach var="item" items="${items}">
                        <li> ${item.name}</li>
                    </c:forEach>
                </ul>
            </c:if>
            <c:if test="${empty items}">
                <p>EMPTY ITEMS </p>
            </c:if>



        </div>
    </div>






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