【问题标题】:Spring Boot - JSP not displaying list?Spring Boot - JSP 不显示列表?
【发布时间】:2019-05-15 01:38:08
【问题描述】:

我正在使用 Spring Boot 并尝试将我的一些 MySQL 行映射到一个表中。由于某种原因,该表未显示任何元素。我已经打印了列表并且列表包含所有元素,但是它们没有出现在我的表格中!我正在使用 ModelAndView 并将我的列表作为模型对象传递给模型,并使用在我的 jsp 页面中调用的属性名称。

Drinker 实体类:

public class Drinker {
    private String drinker_name;
    private int drinker_phone;
    private int cc_number;
    private java.sql.Date cc_expiration;

    public Drinker(){

    }
    public Drinker(String drinker_name, int drinker_phone, int cc_number, java.sql.Date cc_expiration){
        this.drinker_name = drinker_name;
        this.drinker_phone = drinker_phone;
        this.cc_number = cc_number;
        this.cc_expiration = cc_expiration;
    }

    public String getDrinkerName(){
        return this.drinker_name;
    }
    public int getDrinkerPhone(){
        return this.drinker_phone;
    }
    public int getDrinkerCCNumber(){
        return this.cc_number;
    }
    public Date getDrinkerCCExpiration(){
        return this.cc_expiration;
    }

    public void setDrinkerName(String drinker_name){
        this.drinker_name = drinker_name;
    }
    public void setDrinkerPhone(int drinker_phone){
        this.drinker_phone = drinker_phone;
    }

    public void setDrinkerCCNumber(int cc_number){
        this.cc_number = cc_number;
    }
    public void setDrinkerCCExpiration(java.sql.Date cc_expiration){
        this.cc_expiration = cc_expiration;
    }
}

home.jsp

   <body>
        <div align="center">
            <div class="topnav">
              <a class="active" href="pino">Drinker</a>
              <a href="bars">Bars</a>
              <a href="beers">Beers</a>
              <a href="modification">Modification</a>
            </div>
            <h1>Drinker List</h1>
            <h3><a href="/newDrinker">New Drinker</a></h3>
            <table border="1">
                <th>Drinker Name</th>
                <th>Drinker Phone #</th>
                <th>Credit Card Number</th>
                <th>CC Expiration Date</th>
                <th>Action</th>

                <c:forEach var="drinker" items="${listDrinker2}">
                <tr>
                    <td>${drinker.drinker_name}</td>
                    <td>${drinker.drinker_phone}</td>
                    <td>${drinker.cc_number}</td>
                    <td>${drinker.cc_expiration}</td>
                    <td>
                        <a href="/editContact?id=${drinker.id}">Edit</a>
                        &nbsp;&nbsp;&nbsp;&nbsp;
                        <a href="/deleteContact?id=${drinker.id}">Delete</a>
                    </td>

                </tr>
                </c:forEach>
            </table>
        </div>
    </body>

用户控制器.java:

 @RequestMapping(value = "/pino", method = RequestMethod.GET)
    public ModelAndView listDrinker(ModelAndView model) throws IOException {
        List<Drinker> listDrinker = drinkerDAO.list();
        Drinker drinker = new Drinker("John", 201, 123, new java.sql.Date(Calendar.getInstance().getTime().getTime()) );
        List<Drinker> listDrinker2 = new ArrayList();
        listDrinker2.add(drinker);
        model.addObject("listDrinker2", listDrinker2);
        model.setViewName("home");
        return model;
    }

编辑:我知道我没有传递 listDrinker,它是包含我的数据库中的实体的列表,但 listDrinker 和 listDrinker2 都没有在表中显示 any 元素。

【问题讨论】:

    标签: java mysql spring spring-boot jsp


    【解决方案1】:

    我打印了列表,列表包含所有元素, 但是它们没有出现在我的表中!

    那是因为您没有将正确的列表添加到模型中。您正在从listDrinker 中的DAO 中获取条目,然后在模型中添加listDrinker2

    List<Drinker> listDrinker = drinkerDAO.list();
    Drinker drinker = new Drinker("John", 201, 123, new java.sql.Date(Calendar.getInstance().getTime().getTime()) );
    List<Drinker> listDrinker2 = new ArrayList();
    listDrinker2.add(drinker);
    /* LOOK HERE! */
    model.addObject("listDrinker2", listDrinker2);
    

    要么使用addAll()listDrinker 的所有元素添加到listDrinker2,要么将addObject() 更改为,

    model.addObject("listDrinker2", listDrinker);
    

    【讨论】:

    • 将 listDrinker 添加到模型中无法打印,因此我手动创建了列表“listDrinker2”并尝试查看是否可以打印我手动添加的条目,但表中没有出现任何条目两个列表。知道为什么 listDrinker2 甚至不会打印吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    相关资源
    最近更新 更多