1.进一步整合,将所有对博文类别的操作,例如添加,修改,删除等等都放在一个Servlet中,这个时候为了让Servlet知道到底是进行哪个操作,可以在调用的时候参入一个参数method=?.例如,method=add的话就是添加博文类别,调用添加博文类别的方法
这里,又可以有两种方式,第一种方式是自己将method的值添加到url地址的后面,例如:Delete
第二种方式是将method放在一个隐藏的input中,作为一个表单项传过去然后获取,例如:
然后后台的获取和处理方法:
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String method = request.getParameter("method");
if (method == null) {
method = "list";
}
if (method.equalsIgnoreCase("add")) {
addCategory(request, response);
} else if (method.equalsIgnoreCase("delete")) {
deleteCategory(request, response);
} else if (method.equalsIgnoreCase("preModify")) {
preModifyCategory(request, response);
} else if (method.equalsIgnoreCase("postModify")) {
postModifyCategory(request, response);
} else if (method.equalsIgnoreCase("list")) {
listCategory(request, response);
}
}
2.修改一下添加博文中的类别列表选项,由于列表是动态的,根据数据库取出来的,所以这里就涉及到了数据库操作,但是这样就不符合MVC的设计模式了,所以,最好是在添加博文之前首先获取出类别列表,所以新建一个servlet-PreAddBlogServlet!
最终前台如下:
List list = (List) request.getAttribute("categorylist");
Category c = null;
for (int i = 0, size = list.size(); i < size; i++) {
c = (Category) list.get(i);
%>
}
%>