AJAX
什么是 AJAX ?实现批量删除IuserInfoDao里IuserInfoService里IuserInfoServiceImpl里IuserInfoController里UserInfoMapper里user-list.jsp里
日常一个BUG
什么是 AJAX ?
AJAX = 异步 JavaScript 和 XML
AJAX 是一种用于创建快速动态网页的技术。
通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。 传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。
实现批量删除
IuserInfoDao里
加入如下代码 void deleteAll(List ids);
IuserInfoService里
加入如下代码: void deleteAll(List ids);
IuserInfoServiceImpl里
加入如下代码:
@Override
public void deleteAll(List<Integer> ids) {
userInfoDao.deleteAll(ids);
}
IuserInfoController里
加入如下代码:
@RequestMapping("/deleteAll.do")
@ResponseBody
public String deleteAll(String userList){
String[] strs=userList.split(",");
List<Integer> ids = new ArrayList<>();
for(int i=0;i<strs.length;i++){
ids.add(Integer.parseInt(strs[i]));
}
userInfoService.deleteAll(ids);
return "";
}
UserInfoMapper里
加入sql语句
<delete id="deleteAll" parameterType="list">
delete from userinfo where id in
<foreach collection="list" item="id" open= "(" close= ")" separator=",">
#{id}
</foreach>
</delete>
user-list.jsp里
在这里用到AJAX
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-3.2.1.min.js"></script>
<script type="text/javascript">
function deleteAll() {
var checkNum=$("input[name='ids']:checked").length;
if(checkNum==0){
alert("请至少选择一项");
return;
}
if (confirm("确定要删除吗")){
var userList = new Array();
$("input[name='ids']:checked").each(function () {
userList.push($(this).val())
});
}
$.ajax({
type:"post",
url:"${pageContext.request.contextPath}/user/deleteAll.do",
data:{userList:userList.toString()},
success:function () {
alert("删除成功");
location.reload();
},
error:function () {
alert("删除失败");
}
})
}
</script>
工具栏里加入下图代码块
日常一个BUG
我觉得以后我可以去做测试人员,嗯,是这样
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.jdbc.BadSqlGrammarException:
###Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 2