1.需求:
從頁面中獲取記錄的id值,對id值對應的這條記錄進行顯示。
2.我們如果對這條記錄進行修改,我們需要先要查詢出原有的記錄信息。所以在ItemService中添加findItemById()的方法。
在ItemService接口中添加:
public Items findItemById(Integer id);
在ItemServiceImpl實現接口類中添加實現方法:
@Autowired
private ItemsMapper itemsMapper;//注入mapper
@Override
public Items findItemById(Integer id) {
Items item=itemsMapper.selectByPrimaryKey(id);
return item;
}
3.在控制層的ItemsController中添加獲取參數並根據參數進行處理的方法:
/* * springmvc默認支持的參數類型,也就是在controller方法中可以加入這些也可以不加 */ @RequestMapping("/itemEdit") public String itemEdit(HttpServletRequest request ,HttpServletResponse response ,HttpSession session ,Model model){ //springmvc獲取jsp頁面的參數 String idStr=request.getParameter("id"); //調用業務層,進行按照id查詢 Items item=itemService.findItemById(Integer.parseInt(idStr)); //將查詢結果傳到model層,將item信息傳到item參數中,供jsp頁面進行顯示 //model模型:放入了返回給頁面的數據 /*model底層就是用了request來傳遞數據。這樣model.addAttribute("item", item)就相當於request.addAttribute("item",item) * 但是我們還是選擇使用model.addAttribute("item", item),因為model對request域進行了擴展。 */ model.addAttribute("item", item);//傳到model //跳轉到jsp頁面將item中的信息進行展示 //如果springMVC方法返回一個簡單的字符串,那么SpringMvc就會認為這是一個頁面的名稱(前提是在SpringMvc.xml中將前綴和后綴都已經配置了) return "editItem";//跳轉到edidItem.jsp頁面 }
處理流程是:
1.springmvc獲取jsp頁面的參數id
2.調用業務層,根據獲取到的id進行查詢
3.將查詢結果傳到model層,將item信息傳到item參數中,供jsp頁面進行顯示
4.跳轉到jsp頁面進行顯示
注意:
1.springmvc默認支持的參數類型:HttpServletRequest、HttpServletResponse、HttpSession、Model。在controller方法中可以加入這些也可以不加。
2.model模型:放入了返回給頁面的數據。
model底層就是用了request來傳遞數據。這樣model.addAttribute("item", item)就相當於request.addAttribute("item",item)。但是我們還是選擇使model.addAttribute("item", item),因為model對request域進行了擴展。
3.如果springMVC方法返回一個簡單的字符串,那么SpringMvc就會認為這是一個頁面的名稱(前提是在SpringMvc.xml中將前綴和后綴都已經配置了)
