在JSP的某个数据的URL属性中传递var类型变量

本文探讨了在JSP中如何处理批量删除操作,特别是如何在URL中传递var类型的变量。举例说明了在删除商品场景下,如何设置a标签的href,并通过JavaScript获取该元素。
摘要由CSDN通过智能技术生成

今日在学习中,研究了jsp批量删除,除了id数组去重之外,还有一个技术难点是var类型变量的传递。

例如我们需要批量删除商品

<a href="%{pageContext.request.contextPath}/goods/deleteByIds"+ids>批量删除</a>

我们可以给这个a标签设一个id

<a id="del" href="${pageContext.request.contextPath}/goods/deleteByIds">批量删除</a>

var del = document.getElementById("del");

var dhref = del.href;

那么我们得到了去重处理的id的集合,ids

var ids=[];

我们就可以做如下拼接

dhref= dhref+"?ids="+ids;

那么,我们此时点击这个“批量删除“的a标签的时候,a.href是未经处理的,所以我们需要一个onclick函数

例如<input type="button" οnclick=deleteByIds()>批量删除</input>

那么,在script部分,我们需要定义一个deleteByIds()函数

function deleteByIds(){
location.href=" ${pageContext.request.contextPath}/goods/deleteByIds?ids="+ids;
}


实践发现不可实现,现补充案例如下

案例是给一个用户赋予多个权限,多个权限用其对应的主键 id 为参数,组成了 一个id数组,传给springMVC,然后springMVC传给mybatis,然后mybatis批量插入。其实类似的场景还有批量删除多个,也是类似的。
1. 前台页面
<thead><tr><th>权限选择</th><th>name</th><th>permission</th></tr></thead>
<c:forEach var="priv" items="${list }">
<tr class="odd gradeX">
<td><input type="checkbox" name="priv_id" value="${priv.id}" /></td>
<td><c:out value="${priv.name}"/></td>
<td><c:out value="${priv.permission}"/></td>
</tr>
</c:forEach>

2. jquery获得选中的项的id值:
//jquery获取复选框值
var priv_ids =[];//定义一个数组
$('input[name="priv_id"]:checked').each(function(){ // 遍历每一个name为priv_id的复选框,其中选中的执行函数
priv_ids.push($.trim($(this).val())); // 将选中的值添加到数组priv_ids中
});
console.log(priv_ids);
var indata = {userId:user_id, privIds:priv_ids};
$.post("/ems/priv/setPrivilege", indata, function(data){
if(data != null && data.result == 'ok'){
console.log(data.msg);
alert(data.msg);
}else{
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值