权限控制和ajax
今天老师把昨天的内容补充了一下,让我们能够在页面中访问得到当前用户的个人信息,这样就可以锁定这一个界面对应的是哪个用户在访问了。
实现过程比较简单,代码如下,只需要在界面需要显示信息的地方加入代码:
<security:authentication property="principal.username"></security:authentication>
然后再在界面的jsp文件上配置相应的配置文件语句,就可以使用这个语句获得用户名了。
接着,老师简单地用ajax实现了批量删除的功能。首先,需要在jsp文件下加入js代码如下:
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
function deleteAll(){
var checkNumber = $("input[name='ids']:checked").length;
if(checkNumber==0){
alert("请至少选择一项");
return;
}
if(confirm("确定要删除吗?")){
var userList = new Array();
$("input[name='ids']:checked").each(function (){
userList.push($(this).val())
});
}
// alert(userList);
$.ajax({
type:"post",
url:"${pageContext.request.contextPath}/user/deleteAll.do",
data:{userList:userList.toString()},
success:function () {
alert("删除成功");
location.reload();
},
error:function () {
alert("删除失败");
}
});
}
</script>
然后需要写相应的controller里面的跳转代码如下:
@RequestMapping("deleteAll.do")
@ResponseBody
public String deleteAll(String userList){
String[] str = userList.split(",");
List<Integer> ids = new ArrayList<>();
for(int i = 0; i<str.length; i++){
ids.add(Integer.parseInt(str[i]));
}
userInfoService.deleteAll(ids);
return "";
}
这里我们暂时返回String,如果是需要和前端界面进行数据交互,则需要写成Map<>的格式。