1.1. 绑定pojo类型
1.1.1. 使用pojo接收表单数据
如果提交的参数很多,或者提交的表单中的内容很多的时候,可以使用简单类型接受数据,也可以使用pojo接收数据。
要求:pojo对象中的属性名和表单中input的name属性一致。
页面定义如下图:
Pojo(逆向工程生成)如下图:
请求的参数名称和pojo的属性名称一致,会自动将请求参数赋值给pojo的属性。
1.1.1. ItemService接口
ItemService里编写接口方法
/**
* 根据id更新商品
*
* @param item
*/
void updateItemById(Item item);
1.1.2. ItemServiceImpl实现类
ItemServiceImpl里实现接口方法
使用updateByPrimaryKeySelective(item)方法,忽略空参数
@Override
public void updateItemById(Item item) {
this.itemMapper.updateByPrimaryKeySelective(item);
}
1.1.3. ItemController
@RequestMapping("/updateItem")
public String updateItem(Item item) {
// 调用服务更新商品
this.itemService.updateItemById(item);
// 返回逻辑视图
return "success";
}
注意:
提交的表单中不要有日期类型的数据,否则会报400错误。如果想提交日期类型的数据需要用到后面的自定义参数绑定的内容。
1.1. 绑定包装pojo
1.1.1. 需求
使用包装的pojo接收商品信息的查询条件。
1.1.2. 需求分析
包装对象定义如下:
public class QueryVo {
private Item item;
set/get。。。
}
@RequestMapping(value = "/updateitem.action")
//public ModelAndView updateitem(Items items){
public ModelAndView updateitem(QueryVo vo){
//修改
itemService.updateItemsById(vo.getItems());
ModelAndView mav = new ModelAndView();
mav.setViewName("success");
return mav;
1.1.1. 接收查询条件
// 绑定包装数据类型
@RequestMapping("/queryItem")
public String queryItem(QueryVo queryVo) {
System.out.println(queryVo.getItem().getId());
System.out.println(queryVo.getItem().getName());
return "success";
}