获取列表数据到后台

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

项目需求展示:

将抽取到的专家保存到数据库表中,其中涉及到修改展示的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后传递给后台。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值