【问题标题】:Spring MVC List AttributeSpring MVC 列表属性
【发布时间】:2014-02-24 01:52:06
【问题描述】:

我想,这只是一个快速简单的 ish 查询。

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>

【问题讨论】:

    标签: java spring jsp arraylist jstl


    【解决方案1】:

    您必须在 forEach 中将 sunday 更改为 row

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

    【讨论】:

    • 谢谢!那完成了工作!一旦允许,我会接受这个答案!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 1970-01-01
    • 2021-05-18
    • 2012-09-13
    相关资源
    最近更新 更多