添加分类
- 步骤分析
- 代码实现
1)步骤分析
- 编写一个链接:/store/adminCategory/addUI:请求转发/admin/adminCategory/add.jsp
- add.jsp中编写表单提交属性
- 在AdminCategoryServlet中处理/add请求
- 获取分类名称
- 封装为category,设置id
- 调用CategoryService的add方法
- 页面重定向:/store/adminCategory/findAll
4.在CategoryService和CategoryDao中完成add方法。
2)代码实现
① 修改界面
1、先在left.jsp中菜单栏添加一条菜单:添加分类
d.add('010202','0102','添加分类','${pageContext.request.contextPath}/adminCategory/addUI','','mainFrame');
2、在list.jsp界面中增加函数上添加跳转地址
<script type="text/javascript">
function addCategory(){
window.location.href = "${pageContext.request.contextPath}/adminCategory/addUI";
}
</script>
② 在AdminCategoryServlet中处理addUI,转发到增加界面
private void addUI(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher("/admin/category/add.jsp").forward(request, response);
}
更改add.jsp中的表单提交属性
③在AdminCategoryServlet中处理add
private void add(HttpServletRequest request, HttpServletResponse response) throws Exception {
//1、接收cname
String cname=request.getParameter("cname");
//2、封装category
Category c=new Category();
c.setCid(UUIDUtils.getId());
c.setCname(cname);
//3、调用service执行添加
categoryService.add(c);
//4、重定向查询所有分类
response.sendRedirect(request.getContextPath()+"/adminCategory/findAll");
}
④完成service层添加分类,更新缓存
@Override
public void add(Category c) throws Exception {
//1、添加分类
categoryDao.add(c);
//2、更新缓存
//2.1 创建缓存管理器
CacheManager cm=CacheManager.create(CategoryServiceImpl.class.getClassLoader().getResourceAsStream("ehcache.xml"));
//2.2 获取指定的缓存
Cache cache=cm.getCache("categoryCache");
//2.3 清空缓存
cache.remove("clist");
}
⑤完成dao层添加分类
@Override
public void add(Category c) throws Exception {
String sql="insert into category values(?,?)";
qr.update(sql,c.getCid(),c.getCname());
}
测试即可