zoukankan      html  css  js  c++  java
  • 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";

    }

  • 相关阅读:
    Java页面中文编码要转换两次encodeURI
    ajax用get刷新页面元素在IE下无效解决~~
    祝贺自己开博~~
    错误域控降级导致解析问题
    ELK 脚本自动化删除索引
    Windows针对子目录共享权限控制
    ES查询区分大小写
    Docker异常时区问题
    Docker自定义镜像无容器日志输出
    ELK时间戳
  • 原文地址:https://www.cnblogs.com/MAPO/p/8467941.html
Copyright © 2011-2022 走看看