有一个需求,类似图片中,数据表的字段是姓名,语文成绩,数学成绩,有对应的实体类,用的ssm框架,我在前台要手动把38名学生的成绩录入,然后提交,在数据库保存38条数据。目前考虑页面做个table,但是不知道该怎么封装数据,后台总是获取不到。求大神指点前后台该怎样处理实现需求。新手,没有分

解决方案 »

  1.   

    用j s o n来处理,前台可以把要多条数据封装成j s o s串然后提交,后台获取串然后解析成数组对象,然后循环插入数据库就行了
      

  2.   

    可以考虑使用AJAX,使用JS把表单数据读取,如何组装你可以自定义,提交到后台后,后台对数据进行解析,再变为实体对象并保存到数据库。
      

  3.   

    后台封装一个实体类,如: 
    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){}
    })
    }纯手敲,仅供参考,不喜勿喷
      

  4.   

    js中的params['list['+i+'].name']好像是这样写的,需要加‘’号。
      

  5.   


    以上是两个实体类,以上是jsp页面以上是后台
    用以上方式实现了,但是用ajax方式提交,后台打@RequestBody 注解后就到不了断点,报400错误,以上方式不行实在不解,为什么呢?@weixin_40290083 @着急下班 @a_b_a_b_a_b_a_b
      

  6.   

    我没有用ajax,直接用form表单提交也成功了。在用ajax方式没有用这种方式,用把表单数据序列化的方式,然后json格式提交,但是后台在实体类前打个@requestbody注解后到不了方法,弄了一下午不成。如想深入交流请加微信15210363093