2014-01-31 217 views
0

只是一个简单的ish查询,我会想象。春天MVC列表属性

public class TimetableV1 implements Timetable { 

    @Id 
    @GeneratedValue 
    private int id; 

    @Size(min=5, max=10, message="Court must be between 5 and 10 characters",groups={PersistenceValidationGroup.class, FormValidationGroup.class}) 
    private String name; 

    @NotNull 
    private int slots; 

    private int startTime; 

    private int endTime; 

    @ElementCollection 
    @CollectionTable (name = "monday", [email protected](name="id")) 
    List<String> monday; 

    @ElementCollection 
    @CollectionTable (name = "tuesday", [email protected](name="id")) 
    List<String> tuesday; 

    @ElementCollection 
    @CollectionTable (name = "wednesday", [email protected](name="id")) 
    List<String> wednesday; 

    @ElementCollection 
    @CollectionTable (name = "thursday", [email protected](name="id")) 
    List<String> thursday; 

    @ElementCollection 
    @CollectionTable (name = "friday", [email protected](name="id")) 
    List<String> friday; 

    @ElementCollection 
    @CollectionTable (name = "saturday", [email protected](name="id")) 
    List<String> saturday; 

    @ElementCollection 
    @CollectionTable (name = "sunday", [email protected](name="id")) 
    List<String> sunday; 


//getters 
    } 

我有那个类,它工作得很好,我用Hibernate来读写它。

这里是我的控制器的相关测试。

@RequestMapping("/timetable") 
    public String showTimetable(Model model) { 
     MonaleenTTV1 t = new MonaleenTTV1(); 
     t.setName("Test Timetable"); 
     t.setSlots(9); 
     t.setStartTime(1); 
     t.setEndTime(2); 
     for (int i = 0; i < t.getSlots(); i++){ 
      t.getMonday().add("Monday" + i); 
      t.getTuesday().add("Tuesday" + i); 
      t.getWednesday().add("Wednesday" + i); 
      t.getThursday().add("Thursday" + i); 
      t.getFriday().add("Friday" + i); 
      t.getSaturday().add("Saturday" + i); 
      t.getSunday().add("Sunday" + i); 
     } 
     timetableService.create(t); 
     List<String> monday = t.getMonday(); 
     List<String> tuesday = t.getTuesday(); 
     List<String> wednesday = t.getWednesday(); 
     List<String> thursday = t.getThursday(); 
     List<String> friday = t.getFriday(); 
     List<String> saturday = t.getSaturday(); 
     List<String> sunday = t.getSunday(); 
     model.addAttribute("monday", monday); 
     model.addAttribute("tuesday", tuesday); 
     model.addAttribute("wednesday", wednesday); 
     model.addAttribute("thursday", thursday); 
     model.addAttribute("friday", friday); 
     model.addAttribute("saturday", saturday); 
     model.addAttribute("sunday", sunday); 


     return "timetable"; 
    } 

一切工作正常,但是当我显示每个项目的模型,我得到这样的列表。

[Monday0,Monday1,Monday2,Monday3,Monday4,Monday5,Monday6,Monday7,Monday8]

有没有办法拆分此,所以我可以用它作为像

<table> 
<tr>Monday0</tr> 
<tr>Monday1</tr> 
<tr>Monday2</tr> 
</table> 

目前,我的jsp代码是这样的。

<table class="members"> 
    <tr><td>${tuesday}</td></tr> 
</table> 

我有这个,但它只是重复列表每次的属性数量。

<table class="members"> 
    <c:forEach var="row" items="${sunday}"> 
    <tr><td>${sunday}</td></tr> 
    </c:forEach> 
</table> 

回答

2

你必须改变sundayrow内的forEach:

<table class="members"> 
    <c:forEach var="row" items="${sunday}"> 
    <tr><td>${row}</td></tr> 
    </c:forEach> 
</table> 
+0

谢谢!这样做的工作!一旦它让我接受这个答案! –