首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在使用spring时显示数据的问题

在使用spring时显示数据的问题
EN

Stack Overflow用户
提问于 2019-04-15 00:40:20
回答 1查看 31关注 0票数 0

我一直在练习spring mvc,我遇到了显示数据的问题。当我运行视图时,它根本没有显示任何数据。这不是数据库连接的问题,因为登录工作正常。

home.jsp

代码语言:javascript
复制
<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> ${item.name}  </p>
                </div>
                <br>
            </c:forEach>


        </div>
    </div>






</body>
</html>

ItemController

代码语言:javascript
复制
package com.jj.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

import com.jj.model.Item;
import com.jj.service.ItemService;

@Controller
public class ItemController {

    @Autowired
    private ItemService itemService;



    @RequestMapping(value = {"/home"}, method= RequestMethod.POST)
    public ModelAndView showItems(ModelAndView model, HttpServletRequest request) {



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


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

        return model;
    }




}

ItemService

代码语言:javascript
复制
package com.jj.service;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import org.springframework.stereotype.Service;

import com.jj.db.DBPool;
import com.jj.model.Item;

@Service
public class ItemService {

    private static Logger logger = Logger.getLogger(ItemService.class.getName());

    //final static Logger logger = (Logger) LogManager.getLogger(ItemService.class);


    public List<Item> findAllItems(){

        logger.info("attempting to find all items");

        ArrayList<Item> items = new ArrayList<Item>();

        String sql = "SELECT * FROM " + Item.TABLE_NAME;
        Connection conn = null;
        DBPool.getInstance();
        conn = DBPool.getConnection();
        PreparedStatement pstmt = null;
        ResultSet rs = null;

        try {
            pstmt = conn.prepareStatement(sql);
            rs = pstmt.executeQuery();
            while(rs.next()) {
                Item i = new Item();
                i.setId(rs.getInt(Item.COLUMN_IDITEMS));
                i.setName(rs.getString(Item.COLUMN_NAME));

                items.add(i);
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                pstmt.close();
                rs.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        }
        logger.info("items " + items);

        return items;
    }

}

我一直在练习spring mvc,我遇到了显示数据的问题。当我运行视图时,它根本没有显示任何数据。这不是数据库连接的问题,因为登录工作正常。

EN

回答 1

Stack Overflow用户

发布于 2019-04-15 02:33:46

您需要taglib。我附加了下面的代码:

代码语言:javascript
复制
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<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> ${item.name}  </p>
                </div>
                <br>
            </c:forEach>
        </div>
    </div>
</body>
</html>

Spring Boot的配置JSP你可以找到:example

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55677642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档