我想象的只是一个简单的简单查询。
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", joinColumns=@JoinColumn(name="id"))
List<String> monday;
@ElementCollection
@CollectionTable (name = "tuesday", joinColumns=@JoinColumn(name="id"))
List<String> tuesday;
@ElementCollection
@CollectionTable (name = "wednesday", joinColumns=@JoinColumn(name="id"))
List<String> wednesday;
@ElementCollection
@CollectionTable (name = "thursday", joinColumns=@JoinColumn(name="id"))
List<String> thursday;
@ElementCollection
@CollectionTable (name = "friday", joinColumns=@JoinColumn(name="id"))
List<String> friday;
@ElementCollection
@CollectionTable (name = "saturday", joinColumns=@JoinColumn(name="id"))
List<String> saturday;
@ElementCollection
@CollectionTable (name = "sunday", joinColumns=@JoinColumn(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";
}
一切正常,但当我显示每个项目的模型时,我会得到一个这样的列表。
[周一0,周一1,周一2,周一3,周一4,周一5,周一6,周一7,周一8]
有没有办法拆分它,所以我可以用它像
<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>
答案 0 :(得分:2)
您必须在forEach中更改sunday
至row
:
<table class="members">
<c:forEach var="row" items="${sunday}">
<tr><td>${row}</td></tr>
</c:forEach>
</table>