摘要
今天是实习的第七天,今天的主要内容上午学习了AJAX批量删除操作,然后下午小组进行了开发在线论坛。
1. AJAX批量操作
- 引入AJAX包
<!-- user-list.jsp -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
- 然后分别在dao、service、controller层加入实现接口,要注意Controller层数据的切分处理,然后进行遍历封装。
//UserDao.java
void batchDelete(List<Integer> ids);
//UserService.java
void batchDelete(List<Integer> ids);
//UserServiceImpl.java
public void batchDelete(List<Integer> ids) {
userDao.batchDelete(ids);
}
//UserController.java
@RequestMapping("/batchDelete.do")
public String batchDelete(String userList){
String[] strs = userList.split(",");
List<Integer> ids = new ArrayList<>();
for(String str:strs) {
ids.add(Integer.parseInt(str));
}
userInfoService.batchDelete(ids);
return "redirect:findAllUser.do";
}
- 编写UserMapper的SQL语句进行操作,这里用到了一个SQL子查询。
<!--批量删除-->
<delete id="batchDelete" parameterType="list">
DELETE FROM tb_user WHERE id IN
<foreach collection="list" item="id" open="(" close=")" separator=",">
#{id}
</foreach>
</delete>
- 添加按钮点击事件,并处理checkbox的数据。
<button type="button" class="btn btn-default" title="批量删除" onclick="deleteAll()">
- 使用AJAX批量处理数据,要注意传数据时要进行封装,不能直接将数据列表传过去。
<script type="text/javascript">
function deleteAll() {
var checkedNum = $("input[name='ids']:checked").length;
if(checkedNum == 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/batchDelete.do",
data: {userList: userList.toString()},
success : function () {
alert("删除成功!");
location.reload();
},
error : function () {
alert("删除失败!");
}
});
}
</script>
- 进行删除,发现操作能够成功,因此使用AJAX操作成功。
2. 开发在线论坛
今天我做的主要内容是在线论坛的登录和注册。
- 登录操作
首先打开登录界面后,输入必要信息后,将用户名、用户密码提交到后台,然后后台 根据用户名、用户密码select数据,如果select到数据,说明用户存在,则定向到论坛主页,否则登录失败,用户不存在或者用户密码错误。
- 注册操作
- 首先填写数据,然后根据用户填写的数据,发送验证码(手机或者邮箱),后台将数据暂存在httpsession中,用户收到验证码后填写正确的验证码,然后设置密码,将数据提交到后台,后台判断数据验证码是否正确,然后在进行注册。
——2019.07.16 浙江.宁波
Will Also