前台jsp如何封装多条数据到后台相应的实体类

狗尾草不是草 2019-06-14 10:55:12
有一个需求,类似图片中,数据表的字段是姓名,语文成绩,数学成绩,有对应的实体类,用的ssm框架,我在前台要手动把38名学生的成绩录入,然后提交,在数据库保存38条数据。目前考虑页面做个table,但是不知道该怎么封装数据,后台总是获取不到。求大神指点前后台该怎样处理实现需求。新手,没有分
...全文
287 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_40290083 2019-06-15
  • 打赏
  • 举报
回复
可以考虑使用AJAX,使用JS把表单数据读取,如何组装你可以自定义,提交到后台后,后台对数据进行解析,再变为实体对象并保存到数据库。
立刀流 2019-06-15
  • 打赏
  • 举报
回复
用j s o n来处理,前台可以把要多条数据封装成j s o s串然后提交,后台获取串然后解析成数组对象,然后循环插入数据库就行了
狗尾草不是草 2019-06-15
  • 打赏
  • 举报
回复
引用 3 楼 a_b_a_b_a_b_a_b的回复:
后台封装一个实体类,如:

public class StudentScoreBO{
private List<StudentScore> list;

// setter getter 方法;
}
public class StudentScore{
private String name;
private String ywScore;//语文分数
private String sxScore;//数学分数
//setter、 getter 方法;
}
//controller
public String save(StudentScoreBO data){
//调用service中的save方法;
}


页面使用jQuery中的ajax提交,循环table的tr:

function save(){
var tr = $("tr");
var params = {};
for(int i=0; i <tr.length;i++){
params[list[i].name] = '';//获取姓名
params[list[i].ywScore] = '';//获取语文成绩
params[list[i].sxScore] = '';//获取数学成绩
}
$.ajax({
url:'/save',
data:params,
dataType:'json',
success:function(ret){

}
})
}

纯手敲,仅供参考,不喜勿喷
我没有用ajax,直接用form表单提交也成功了。在用ajax方式没有用这种方式,用把表单数据序列化的方式,然后json格式提交,但是后台在实体类前打个@requestbody注解后到不了方法,弄了一下午不成。如想深入交流请加微信15210363093
狗尾草不是草 2019-06-15
  • 打赏
  • 举报
回复

以上是两个实体类,

以上是jsp页面

以上是后台
用以上方式实现了,但是用ajax方式提交,后台打@RequestBody 注解后就到不了断点,报400错误,

以上方式不行实在不解,为什么呢?@weixin_40290083 @着急下班 @a_b_a_b_a_b_a_b
a_b_a_b_a_b_a_b 2019-06-15
  • 打赏
  • 举报
回复
js中的params['list['+i+'].name']好像是这样写的,需要加‘’号。
a_b_a_b_a_b_a_b 2019-06-15
  • 打赏
  • 举报
回复
后台封装一个实体类,如:

public class StudentScoreBO{
private List<StudentScore> list;

// setter getter 方法;
}
public class StudentScore{
private String name;
private String ywScore;//语文分数
private String sxScore;//数学分数
//setter、 getter 方法;
}
//controller
public String save(StudentScoreBO data){
//调用service中的save方法;
}


页面使用jQuery中的ajax提交,循环table的tr:

function save(){
var tr = $("tr");
var params = {};
for(int i=0; i <tr.length;i++){
params[list[i].name] = '';//获取姓名
params[list[i].ywScore] = '';//获取语文成绩
params[list[i].sxScore] = '';//获取数学成绩
}
$.ajax({
url:'/save',
data:params,
dataType:'json',
success:function(ret){

}
})
}

纯手敲,仅供参考,不喜勿喷

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧