Skip to content

Commit 4899da5

Browse files
committed
update
1 parent c3ff75c commit 4899da5

File tree

4 files changed

+75
-12
lines changed

4 files changed

+75
-12
lines changed

book/src/main/java/com/atguigu/utils/WebUtils.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,20 @@ public static <T> T copyParamTOBean(Map value, T bean){
2828
return bean;
2929
}
3030

31+
/**
32+
* 将字符串转为int类型
33+
*
34+
* @param strInt 接收传来的 字符串
35+
* @param defaultValue 默认值 (int)
36+
* @return 转成功就是 返回转换后的int值 ,失败 则返回 默认值
37+
*/
38+
public static int parseInt(String strInt,int defaultValue){
39+
try {
40+
return Integer.parseInt(strInt);
41+
} catch (Exception e) {
42+
e.printStackTrace();
43+
}
44+
return defaultValue;
45+
}
46+
3147
}

book/src/main/java/com/atguigu/web/BookServlet.java

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public class BookServlet extends BaseServlet{
1919

2020
protected void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
2121
//1.获取请求参数 , 封装成 Book 对象
22-
Book book = WebUtils.copyParamTOBean(req.getParameterMap(), new Book());
22+
Book book = WebUtils.copyParamTOBean(req.getParameterMap(), new Book());//调用WebUtils工具类
2323
//2.调用BookServlet.add()方法 , 保存图书
2424
bookService.addBook(book);
2525
//3.请求重定向 到 图书列表 页面 /manager/bookServlet?action=list
@@ -28,19 +28,43 @@ protected void add(HttpServletRequest req, HttpServletResponse resp) throws Serv
2828
}
2929

3030
protected void delete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
31+
//1.获取请求参数id,图书编号
32+
int id = WebUtils.parseInt(req.getParameter("id"), 0);
33+
//2.调用bookService.deleteBookById(); 删除图书
34+
bookService.deleteBookById(id);
35+
//3.重定向 回图书管理页面
36+
// /manager/bookServlet?action=list
37+
resp.sendRedirect(req.getContextPath()+ "/manager/bookServlet?action=list");
3138

3239
}
3340

34-
protected void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
3541

42+
protected void getBook(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
43+
//1.获取请求参数 id = 图书编号
44+
int id = WebUtils.parseInt(req.getParameter("id"), 0);
45+
//2.调用 bookService.queryBookById() 查询图书
46+
Book book = bookService.queryBookById(id);
47+
//3.保存图书到Request域中
48+
req.setAttribute("book",book);
49+
//4.请求转发到 /pages/manager/book_edit.jsp
50+
req.getRequestDispatcher("/pages/manager/book_edit.jsp").forward(req,resp);
51+
}
52+
53+
protected void update(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
54+
//1.获取请求参数 , 封装成Book对象
55+
Book book = WebUtils.copyParamTOBean(req.getParameterMap(), new Book());
56+
//2.调用bookService.updateBook(),将修改好的数据保存到数据库中
57+
bookService.updateBook(book);
58+
//3.重定向回 图书管理页面 list那个
59+
resp.sendRedirect(req.getContextPath()+"/manager/bookServlet?action=list");
3660
}
3761

3862
protected void list(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
3963
//1.通过BookService 查询全部图书
4064
List<Book> books = bookService.queryBooks();
4165
//2.把全部图书 保存到Request域
4266
req.setAttribute("books",books);
43-
//3.请求转发到 /pages/manager/book_manager.jsp
67+
//3.请求转发到 /pages/manager/book_edit.jsp
4468
req.getRequestDispatcher("/pages/manager/book_manager.jsp").forward(req,resp);
4569
}
4670
}

book/src/main/webapp/pages/manager/book_edit.jsp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232

3333
<div id="main">
3434
<form action="manager/bookServlet" method="get">
35-
<input type="hidden" name="action" value="add">
35+
<input type="hidden" name="action" value="${param.method}">
36+
<input type="hidden" name="id" value="${requestScope.book.id}">
3637
<table>
3738
<tr>
3839
<td>名称</td>
@@ -43,11 +44,11 @@
4344
<td colspan="2">操作</td>
4445
</tr>
4546
<tr>
46-
<td><input name="name" type="text" value="时间简史"/></td>
47-
<td><input name="price" type="text" value="30.00"/></td>
48-
<td><input name="author" type="text" value="霍金"/></td>
49-
<td><input name="sales" type="text" value="200"/></td>
50-
<td><input name="stock" type="text" value="300"/></td>
47+
<td><input name="name" type="text" value="${requestScope.book.name}"/></td>
48+
<td><input name="price" type="text" value="${requestScope.book.price}"/></td>
49+
<td><input name="author" type="text" value="${requestScope.book.author}"/></td>
50+
<td><input name="sales" type="text" value="${requestScope.book.sales}"/></td>
51+
<td><input name="stock" type="text" value="${requestScope.book.stock}"/></td>
5152
<td><input type="submit" value="提交"/></td>
5253
</tr>
5354
</table>

book/src/main/webapp/pages/manager/book_manager.jsp

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,28 @@
77
<title>图书管理</title>
88
<%-- 静态包含 base标签/css样式/jQuery文件 --%>
99
<%@include file="/pages/common/head.jsp"%></head>
10+
<script type="text/javascript">
11+
$(function (){
12+
//给删除的a标签 绑定单击事件, 用于确定删除
13+
$("a.deleteClass").click(function (){
14+
//在事件的function()函数中,有一个this对象,这个this对象,是对当前正在响应事件的dom对象
15+
/*
16+
confirm是确认提示框函数
17+
参数是它的内容
18+
有两个按钮一个是确认一个是取消
19+
返回true表示 点了,确认,返回false表示取消
20+
*/
21+
22+
return confirm("你确定要删除["+ $(this).parent().parent().find("td:first").text() +"]?");
23+
24+
//return false//阻止元素的默认行为==不提交请求
25+
26+
27+
28+
})
29+
})
30+
31+
</script>
1032
<body>
1133

1234
<div id="header">
@@ -36,8 +58,8 @@
3658
<td>${book.author}</td>
3759
<td>${book.sales}</td>
3860
<td>${book.stock}</td>
39-
<td><a href="book_edit.jsp">修改</a></td>
40-
<td><a href="#">删除</a></td>
61+
<td><a href="manager/bookServlet?action=getBook&id=${book.id}&method=update">修改</a></td>
62+
<td><a class="deleteClass" href="manager/bookServlet?action=delete&id=${book.id}">删除</a></td>
4163
</tr>
4264

4365
</c:forEach>
@@ -50,7 +72,7 @@
5072
<td></td>
5173
<td></td>
5274
<td></td>
53-
<td><a href="pages/manager/book_edit.jsp">添加图书</a></td>
75+
<td><a href="pages/manager/book_edit.jsp?method=add">添加图书</a></td>
5476
</tr>
5577
</table>
5678
</div>

0 commit comments

Comments
 (0)