JSP向controller传参时,如何把动态记录传过去

来源:互联网 发布:编程浪子新浪博客 编辑:程序博客网 时间:2024/06/17 16:48

我有一个类TeacherInfo,里面有一些成员变量,其中包括Set<Telephone>等,还有一些get、set方法。在JSP里可以获取到Set中的内容,但是JSP修改之后如何把改过的内容传回controller

我是这样做的:

首先在JSP中,Set中的内容放到同一个name下的控件里

然后在controller中,通过request.getParameterValues("控件名")得到一个String数组

新建一个方法,用来组装新的TeacherInfo

先把得到的一些数组组装成一个个Telephone类,然后调用TeacherInfo的set方法或其他方法来重新设置

代码如下:


//把JSP上的参数组装成一个teacherInfo
private TeacherInfo assembleTeacherInfo(TeacherInfo teacherInfo, HttpServletRequest request) {
String[] telephoneIds = request.getParameterValues("telephoneId");
String[] telephoneNums = request.getParameterValues("telephoneNum");
if(telephoneIds != null) {
for(int i=0; i<telephoneIds.length; i++) {
Telephone t = new Telephone();
t.setId(Integer.parseInt(telephoneIds[i]));
t.setNum(telephoneNums[i]);
t.setTeacherInfo(teacherInfo);
teacherInfo.getTelephones().add(t);
}
}
return teacherInfo;
}

原创粉丝点击