2017-10-13 39 views
0

在重構我的JSP以查詢我的數據庫時,我已經在下面的表中循環顯示,因此它將顯示在頁面上,每個頁面顯示爲新的表格行。我無法讓表格在表格行信息中顯示錶格數據。在循環和推送每個表中的新表數據之前,現在只是將表的第一行推入表中,而剩下的表顯示在JSP表的外側。你能幫我解決這個問題嗎? 要開始,我將表格數據推入汽車列表中,並將所有連接全部放入一個方法中。我正在通過如下方式獲取數據。JSP通過jsp上的mysql表循環並顯示它

<table border="2"> 
    <tr class="tblHeader"> 
     <td>Car ID</td> 
     <td>Year</td> 
     <td>Make</td> 
     <td>Model</td> 
     <td>Color</td> 
     <td>Availability</td> 

    </tr> 
    <% 
     Table table = new Table(); 
     table.getTableConnection(); 
     List<Car> cars = table.getTableConnection(); 
     String renting; 
     for (Car c : cars) { 
      int id = c.getId(); 
      String year = c.getYear(); 
      String make = c.getMake(); 
      String model = c.getModel(); 
      String color = c.getColor(); 
      String avail = c.getAvailable(); 

    %> 
     <tr> 
     <td><%=id%></td> 
     <td><%=year%></td> 
     <td><%=make%></td> 
     <td><%=model%></td> 
     <td><%=color%></td> 
     <td><%=avail%></td> 
     </tr> 
     } 
+0

可能你的數據有點問題,比如帶口音的字符?你正確關閉html表嗎?考慮在代碼中使用表達式語言來避免Java代碼。 –

+0

'table.getTableConnection();'你確定這會返回汽車列表嗎? –

回答

2

最好把你的行放入循環中。

<c:forEach items="${cars}" var="car"> 
    <tr>  
     <td>${car.id}</td> 
     <td>${car.year}</td> 
     <td>${car.make}</td> 
     <td>${car.model}</td> 
     <td>${car.color}</td> 
     <td>${car.available}</td> 
    </tr> 
</c:forEach> 
1

首先您需要更正html語法。您需要使用表頭標記<th></th>來指定列標題。

<tr class="tblHeader"> 
     <th>Car ID</th> 
     <th>Year</th> 
     <th>Make</th> 
     <th>Model</th> 
     <th>Color</th> 
     <th>Availability</th> 
</tr> 

關於數據渲染部分,我找不到任何與您的代碼有關的問題。

0

使用foreach循環並移動一些較小的更改後,在for循環完成之前表正在關閉。桌上的數據正在被截斷。我的錯,沒有看到這個愚蠢的錯誤。