poJo及包装类型参数绑定

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";

}

posted @ 2018-02-24 22:55  1斑点  阅读(590)  评论(0编辑  收藏  举报