这是我的第一个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;
}
我该如何解决这个问题。?
答案 0 :(得分:0)
问题是您是从服务器发送json
响应并尝试使用spring:form
标记显示结果,而这些标记无法完成。
如果您希望以json
结尾,可以使用替代方法,使用javascript
处理回复并填充复选框值
否则,如果您希望使用spring:form
,则需要使用Model
方法将值添加到model.addAttribute()
并使用path
属性显示
还要记住路径property
应与模型类的属性名称匹配。
恕我直言,请在开始之前先了解tutorial。