如何使用jstl标签从jsp页面获取ClassList的值?

时间:2015-07-06 05:49:56

标签: spring jsp

这是我的第一个VO类成员变量:

private List<ProgramToStudyMap> programToStudyMaps;

这是ProgramToStudyMap类:

public class ProgramToStudyMap {

    private Long studyId;
    private List<Long> programId;

}

我的jsp代码是,

<form:checkbox path="programToStudyMaps[0].studyId" />

但它给出了错误,

org.springframework.beans.NotReadablePropertyException: Invalid property 'programToStudyMaps[0]' of bean class [java.util.ArrayList]: Bean property 'programToStudyMaps[0]' is not readable or has an invalid getter method: Does the return type of the getter match the parameter type of the setter?

这是我的控制者:

@RequestMapping(value = RequestMap.MAINTENANCE_STUDY_PROGRAMS, method = RequestMethod.POST)
    public @ResponseBody JsonResponse maintananceStudyProgramsSave(@ModelAttribute ProgramToStudyVo programToStudyVo) {
        JsonResponse jsonResponse = new JsonResponse();
        try {
            System.out.println("---------- "+programToStudyVo.getProgramToStudyMaps().get(0).getStudyId());
            System.out.println("---------- "+programToStudyVo.getProgramToStudyMaps().get(0).getProgramId());
            System.out.println("------------- "+programToStudyVo.getProgramToStudyMaps().get(1).getStudyId());
            System.out.println("------------- "+programToStudyVo.getProgramToStudyMaps().get(1).getProgramId());
            jsonResponse.setStatus(RhoConstants.JSON_SUCCESS);
        } catch (Exception e) {
            e.printStackTrace();
            logger.error(e.getMessage());
        }
        return jsonResponse;
    }

我该如何解决这个问题。?

1 个答案:

答案 0 :(得分:0)

问题是您是从服务器发送json响应并尝试使用spring:form标记显示结果,而这些标记无法完成。

如果您希望以json结尾,可以使用替代方法,使用javascript处理回复并填充复选框值

否则,如果您希望使用spring:form,则需要使用Model方法将值添加到model.addAttribute()并使用path属性显示 还要记住路径property应与模型类的属性名称匹配。

恕我直言,请在开始之前先了解tutorial