获取列表数据到后台

来源:互联网 发布:c语言最大的数据类型 编辑:程序博客网 时间:2024/06/05 04:09

最近的项目有用到将列表数据传输到后台,去研究了一下。如有不妥,请各路大神斧正。

项目需求展示:

将抽取到的专家保存到数据库表中,其中涉及到修改展示的list的数据,所以不能直接把后台传过来的数据直接保存。

抽取结果

如果点击重抽,重新生成一条数据显示,并在重抽的地方填写原因。页面如下

重抽

保存时需要保存相应数据,如有不参加需要填写原因。

前台jsp代码,简示如下,省去很多其他部分的代码。

<form action="expert/savezj?flag=pssh&paguid=${ProjectGuid}" id="saveForm" method="post" name="saveForm">    <table width="100%" border="0" cellspacing="0" cellpadding="0" class="table2">        <thead class="thead">            <tr>                <td width="25%">姓名</td>                <td width="45%">手机</td>                <td width="30%" class="nobg">是否重抽</td>           </tr>        </thead>        <tbody id="cqzj">        </tbody>    </table></form><div class="btn_box3">    <input class="all_btn sure" type="button" value="保存" onclick="save(this);"/></div>

javaScript

有些地方是业务逻辑需要的代码,忽略就好。

//展示数据的部分代码for (var i = 0; i < data.length; i++) {    html += "<tr>" + "<td>" + "<input value='" + data[i].guid + "' name='expertList[" + i + "].guid' type='hidden'><input value='" + data[i].realname + "' name='expertList[" + i + "].realname' type='hidden'>" + data[i].realname + "</td>" + "<td id='" + data[i].guid + "'><input class='join' type='hidden' value='${ProjectGuid}' name='expertList[" + i + "].remark' /><a  class='shenbao' onclick=heavy('" + data[i].guid + "','"+i +"','"+data[i].expertstype +"')>重抽</a></td>" + "</tr>";} //保存专家方法    function save(obj) {        var mytable = document.getElementById("cqzj")        for(var i=0;i<mytable.rows.length;i++){            if($('.join')[i].value==null||$('.join')[i].value==""){                alert("请填写无法参加的理由")                return false;            }        }        if($("#time").val()==''){            alert("请选择评审时间")            return false;        }        document.saveForm.action=$("#saveForm").attr("action")+"&tdate="+$("#tdate").val()+"&time="+$("#time").val();        $("#saveForm").ajaxSubmit({            type: "post",            dataType: "json",            success: function (resp) {                if (resp.succ) {                    alert(resp.msg)                    goback();                } else {                    alert(resp.msg);                    return false;                }            }        });    }

java 后台代码,简化如下

 @ResponseBody    @RequestMapping(value = "save")    public Result save(ExpertList expertList,String flag,String paguid,String tdate,String time){        return new Result(Result.SUCC,null);    }

ExpertList 类用来存储前台过来的数据。Expert是专家的基本信息类,如名字、电话信息等。

public class ExpertList {    private List<Expert> expertList;    public List<Expert> getExpertList() {        return expertList;    }    public void setExpertList(List<Expert> expertList) {        this.expertList = expertList;    }}

在save方法中ExpertList 可以获取到前台传过来的数据。

这个是通过form表单实现的。
好像还有一种方法,可以将数据放在页面创建对象obj中,转json后传递给后台。