ssm中ajax和el表达式传值

需求:做一个表格,每项数据从后端获取值,点击修改框时默认出现所选项的数据。

分析:1.首先后端从前端传值,可用modelAndView的addObject方法,然后用el表达式和jstl标签填充表格。如此:

后端:

ModelAndView mv = new ModelAndView();
List<User> userlist = adminService.showUser();
mv.addObject("userlist",userlist);

前端:

<c:forEach items="${userlist.list}" var="user">
            <tr>
                <td>${user.userID}</td>
                <td>${user.nickname }</td>
                <td>${user.usersex }</td>
                <td>${user.userphone}</td>
				<td>${user.usernumber}</td>
				<td>${user.useraddress}</td>
				<td><span onclick="edit(${user.userID})" data-toggle="modal" data-target="#vip_edit">修改</span></td>
                <td><span onclick="deleteuser(${user.userID})" data-toggle="modal" data-target="#vip_delete">删除</span></td>
            </tr>
			</c:forEach>

呈现效果:

在这里插入图片描述

2.需要在点击修改时弹出框中呈现该列数据,可用ajax方法从后端传改行id,然后得到返回的数据类型,再对输入框进行填充。

前端传id:

<td><span onclick="edit(${user.userID})" data-toggle="modal" data-target="#vip_edit">修改</span></td>

后端得到id,从数据找到id对应的用户,返回给前端:

	/*
	 * 用户修改时显示信息
	 */
	@RequestMapping(value="/showEditUser",method=RequestMethod.POST)
	@ResponseBody
	public User showEditUser(@RequestParam("userID") String userID) {
		System.out.println(userID);
		this.setEdit_user_id(Integer.parseInt(userID));
		User user = null;
		try {
			user = adminService.showEditUser(Integer.parseInt(userID));
		}catch(Exception e) {
			e.printStackTrace();
		}
		return user;
	}

前端ajax:

<script type="text/javascript">
    function edit(userID){
    	$.ajax({
    		type: "post",
    		url: "showEditUser",
    		data: {
    			"userID": userID
    		},
    		success:function(data){
    			$("#vip_name").val(data.nickname);
    			$("#sex").val(data.usersex);
    			$("#phone_num").val(data.userphone);
    			$("#pin").val(data.usernumber);
    			$("#address").val(data.useraddress);
    		},
    		error:function(data){
    			alert('error');
    		}
    	});
    }
</script>

vip_name、sex等会输入框id,nickname等是user类属性。

呈现效果:

在这里插入图片描述

剩下表单提交post即可。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值