网上图书商城项目学习笔记-028编辑一级分类
一、流程分析
二、代码
1.view层
(1)list.jsp
1 <c:forEach items="${parents }" var="parent"> 2 <tr class="trOneLevel"> 3 <td width="200px;">${parent.cname }</td> 4 <td>${parent.desc }</td> 5 <td width="200px;"> 6 <a href="<c:url value='/admin/AdminCategoryServlet?method=addChildPre&pid=${parent.cid }'/>">添加二级分类</a> 7 <a href="<c:url value='/admin/AdminCategoryServlet?method=editParentPre&cid=${parent.cid }'/>">修改</a> 8 <a οnclick="return confirm('您是否真要删除该一级分类?')" href="<c:url value='/admin/AdminCategoryServlet?method=deleteParent&cid=${parent.cid }'/>">删除</a> 9 </td> 10 </tr> 11 <c:forEach items="${parent.children }" var="child"> 12 <tr class="trTwoLevel"> 13 <td>${child.cname }</td> 14 <td>J${child.desc }</td> 15 <td width="200px;" align="right"> 16 <a href="<c:url value='/admin/AdminCategoryServlet?method=editChildPre&cid=${child.cid }'/>">修改</a> 17 <a οnclick="return confirm('您是否真要删除该二级分类?')" href="<c:url value='/admin/AdminCategoryServlet?method=deleteChild&cid=${child.cid }'/>">删除</a> 18 </td> 19 </tr> 20 </c:forEach> 21 </c:forEach>
(2)edit.jsp
1 <script type="text/javascript" src="<c:url value='/jquery/jquery-1.5.1.js'/>"></script> 2 <script type="text/javascript"> 3 function checkForm() { 4 if(!$("#cname").val()) { 5 alert("分类名不能为空!"); 6 return false; 7 } 8 if(!$("#desc").val()) { 9 alert("分类描述不能为空!"); 10 return false; 11 } 12 return true; 13 } 14 </script> 15 <style type="text/css"> 16 body {background: rgb(254,238,189);} 17 </style> 18 </head> 19 20 <body> 21 <h3>修改1级分类</h3> 22 <h1></h1> 23 <p style="font-weight: 900; color: red">${msg }</p> 24 <form action="<c:url value='/admin/AdminCategoryServlet'/>" method="post" οnsubmit="return checkForm()"> 25 <input type="hidden" name="cid" value="${parent.cid }"/> 26 <input type="hidden" name="method" value="editParent"/> 27 分类名称:<input type="text" name="cname" id="cname" value="${parent.cname }"/><br/> 28 分类描述:<textarea rows="5" cols="50" id="desc" name="desc">${parent.desc }</textarea><br/> 29 <input type="submit" value="修改分类"/> 30 <input type="button" value="返回" οnclick="history.go(-1)"/> 31 </form> 32 </body> 33 </html>
2.servlet层
(1)AdminCategoryServlet.java
1 /** 2 * 准备编辑一级分类 3 * @param req 4 * @param resp 5 * @return 6 * @throws ServletException 7 * @throws IOException 8 */ 9 public String editParentPre(HttpServletRequest req, HttpServletResponse resp) 10 throws ServletException, IOException { 11 req.setAttribute("parent", service.load(req.getParameter("cid"))); 12 return "/adminjsps/admin/category/edit.jsp"; 13 } 14 15 /** 16 * 编辑一级分类 17 * @param req 18 * @param resp 19 * @return 20 * @throws ServletException 21 * @throws IOException 22 */ 23 public String editParent(HttpServletRequest req, HttpServletResponse resp) 24 throws ServletException, IOException { 25 Category parent = CommonUtils.toBean(req.getParameterMap(), Category.class); 26 service.edit(parent); 27 return findAll(req, resp); 28 }
3.service层
(1)AdminCategoryService.java
1 /** 2 * 加载分类 3 * @param cid 4 * @return 5 */ 6 public Category load(String cid) { 7 try { 8 return categoryDao.load(cid); 9 } catch (SQLException e) { 10 throw new RuntimeException(e); 11 } 12 } 13 14 /** 15 * 修改分类 16 * @param category 17 */ 18 public void edit(Category category) { 19 try { 20 categoryDao.edit(category); 21 } catch (SQLException e) { 22 throw new RuntimeException(e); 23 } 24 }
4.dao层
(1)AdminCategoryDao.java
1 /** 2 * 加载分类 3 * @param cid 4 * @return 5 * @throws SQLException 6 */ 7 public Category load(String cid) throws SQLException { 8 String sql = "select * from t_category where cid=?"; 9 Map<String,Object> map = qr.query(sql, new MapHandler(), cid); 10 return toCategory(map); 11 } 12 13 /** 14 * 修改分类 15 * @param category 16 * @throws SQLException 17 */ 18 public void edit(Category category) throws SQLException { 19 String sql = "update t_category set cname=?, pid=?, `desc`=? where cid=?"; 20 String pid = null; 21 if(category.getParent() != null) { 22 pid = category.getParent().getCid(); 23 } 24 Object [] params = {category.getCname(), pid, category.getDesc(), category.getCid()}; 25 qr.update(sql, params); 26 }
转载于:https://www.cnblogs.com/shamgod/p/5181524.html
网上图书商城项目学习笔记-028编辑一级分类相关推荐
- 网上图书商城项目学习笔记-034订单管理
一.流程分析 二.代码 1.view层 (1)list.jsp 1 <body> 2 <p class="pLink"> 3 <a href=&quo ...
- 网上图书商城项目学习笔记-035工具类之JdbcUtils及TxQueryRunner及C3P0配置
事务就是保证多个操作在同一个connection,TxQueryRunner通过JdbcUtils获取连接,而JdbcUtils通过ThreadLocal<Connection>确保了不同 ...
- 网上图书商城项目学习笔记-008修改密码功能
一.修改密码流程分析 二.代码 1.view层 1)pwd.jsp 1 <%@ page language="java" import="java.util.*&q ...
- spring boot 前后端分离项目(商城项目)学习笔记
spring boot 前后端分离项目(商城项目)学习笔记 目录 spring boot 前后端分离项目(商城项目)学习笔记 后端配置 springboot项目 pom.xml文件 maven 配置文 ...
- vue3小兔鲜商城项目学习笔记+资料分享01
最近正在学习vue3小兔鲜,需要相关学习资料的可以点链接 https://docs.qq.com/doc/DUmhUVERtUHpLaG1a 下面试学习笔记 项目起步 项目预览地址 小兔鲜儿商城:ht ...
- vue3小兔鲜商城项目学习笔记+资料分享06
建议大家先去看我第一篇小兔鲜的文章,强烈建议,非常建议,十分建议,从头开始看更完整. 最近正在学习vue3小兔鲜 下面是学习笔记 购物车模块 购物车功能分析 [外链图片转存失败,源站可能有防盗链机制, ...
- vue3小兔鲜商城项目学习笔记+资料分享08
建议大家先去看我第一篇小兔鲜的文章,强烈建议,非常建议,十分建议,从头开始看更完整. 最近正在学习vue3小兔鲜 下面是学习笔记 支付模块 路由和组件 任务目标: 完成支付页路由和组件 [外链图片转存 ...
- vue3小兔鲜商城项目学习笔记+资料分享09
建议大家先去看我第一篇小兔鲜的文章,强烈建议,非常建议,十分建议,从头开始看更完整. 最近正在学习vue3小兔鲜 下面是学习笔记 会员中心模块 个人中心 个人中心-路由配置 本节目标:个人中心二级路由 ...
- vue3小兔鲜商城项目学习笔记+资料分享04
最近正在学习vue3小兔鲜, 下面是学习笔记 详情模块 目标:界面渲染部分我们快速准备,详情模块的重点都在组件封装. 基础布局和路由 任务目标: 完成商品详情的基础布局和路由配置 [外链图片转存失败, ...
最新文章
- Python3 range()函数
- 算法设计与分析【第七周】贪心算法 最优装载问题
- C#连接MySQL数据库实例
- mac笔记本怎么外接显示屏_win to go的安装与Macbook pro外接eGPU开启
- 详述白盒测试的逻辑覆盖的路径覆盖及其优缺点
- MyBatis框架 注解
- IT职场人生系列之十九:危险职业(中)
- 阿里技术参考图册-研发篇
- 【ICPC 2021网络赛2】The 2021 ICPC Asia Regionals Online Contest (II)签到题5题
- 算法笔记-二分查找和二分答案
- UCOS操作系统——系统内部任务(六)
- UI库colorui的使用————小程序
- eclipse护眼颜色
- 黑马2021最新版 SpringCloud基础篇全技术栈导学(RabbitMQ+Docker+Redis+搜索+分布式)
- 万用表蜂鸣器档の响一声
- linux中Oops信息的调试及栈回溯—Linux人都知道,这是好东西!
- 给电脑文件批量重命名和更改后缀名
- 汉字转拼音(不带音调)
- (C语言)写一个函数,实现两个字符串的比较, 即自己写一个strcmp函数,函数原型为int strcmp(const char* p1, const char* p2)
- 对付“网络特工”软件的无可奈何的方法
热门文章
- 自学Web前端有哪些误区?自学Web需要掌握哪些技术
- 2020年,我们该如何学习WEB 前端开发
- android释放全局变量,Android全局变量
- tplinkl路由器跨vlan访问_路由器与三层交换机的区别:谁才是最好的选择?
- python多用户登录_python 多用户登录
- HDU-基础搜索总结
- java用DFA实现脏词过滤以及用FileAlterationListenerAdaptor实现对资源文件修改的动态监听
- MIT最新深度学习入门公开课
- 转:ReLU激活函数:简单之美
- (一) Qt Model/View 的简单说明