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

    }

  • 相关阅读:
    一道经典的JavaScript面试题
    模拟学信网登录,Cookie 序列化,在反序列化之后不能用的问题
    EF搜索数据自动将表名变复数问题
    EF查看sql的方法
    查看当前正在被执行的sql
    mmsql查看最近操作日志
    查询存储过程里面的含有的关键字
    mmsql 查询每个分类的前3条数据
    C# checked关键字当属性
    windows2012 IIS8.5 不能在此路径中使用此配置节
  • 原文地址:https://www.cnblogs.com/MAPO/p/8467941.html
Copyright © 2020-2023  润新知