发表于: 2020-09-15 23:28:35

1 1306


今天完成的:
自己写了个没使用spring的IOC的类实现了CRUD逻辑。数据库用HashMap代替了。
写完了才反应过来,service和dao应该都是要用依赖注入的。。。
不过好歹还是写了controller的入参和出参处理。
一、增
先进入一个页面。在这个页面里填写表单,提交数据。
@RequestMapping(value = "/book/add1")
public String add1(){
   // 下面的页面是手动输入数据的
   return "add1";
}
写完了之后才发现,这个页面应该是不用写的,数据应该可以用postman模拟。真实项目中数据应该都是前端传过来的。
然后在这个页面的表单里用action导向处理数据的方法,即下面这个方法。
@RequestMapping(value = "/book/doAdd1")
public String doAdd1(Book book){
   if (manager.add(book)) {
       // 如果添加成功,就返回成功的json
       return "add";
   }
   // 失败,就返回失败的json
   return "addFail";
}
manager就是我写的java普通类BookManager的实例,通过把图书编号当key,图书对象当value,将添加的书籍放到了一个HashMap中。
这个方法的接收参数的方法是,通过定义一个Book的pojo类,将页面要传过来的字段全都封装进这个pojo里。
二、查
先得到所有的书籍信息,然后利用ModelAndView传到jsp页面中。
@RequestMapping(value = "/book/retrive1")
public ModelAndView retrive1(){
   HashMap<String, Book> bookHashMap = manager.retrive();
   if (!bookHashMap.isEmpty()) {
       ModelAndView mav = new ModelAndView("retrive1");
       mav.addObject("books", bookHashMap);
       return mav;
   }
   return null;
}
在jsp页面中,我是通过下面的方法显示图书信息的。。
<h1>
   <%
       Object books = request.getAttribute("books");
       out.print(books);
   %>
</h1>
感觉这样很蠢,但我暂时没找到别的方法,也不知道怎么用json-taglib把书籍信息转化成json。
三、删、更
删除和更新的逻辑和添加的逻辑差不多。
明天计划的:
写service和dao。
写单元测试,通过单元测试模拟传入的数据。
遇到的问题:
这次感觉做的都是无用功。。。
收获:
了解了controller的传参接参。
但是还不知道用Http Body接收参数和用param接收参数的区别。



返回列表 返回列表
评论

    分享到