发表于: 2020-09-15 23:28:35
1 1305
今天完成的:
自己写了个没使用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接收参数的区别。
评论