spingMVC 请求参数绑定

controller 层参数邦定

在前端页面传递id 后端想用receiveId 接收时 需要用到

  • 需取的接收 request.getParameter()
// 需取的接收  request.getParameter()
@RequestMapping(value = "/itemEdit.action")
    public ModelAndView toEdit(
            HttpServletRequest request,
            HttpServletResponse response,
            Model model){
        //Servlet时代开发
        String id = request.getParameter("id");
        //查询一个商品
        Items items = itemService.selectItemsById(Integer.parseInt(id));
        ModelAndView mav = new ModelAndView();
        //数据
        mav.addObject("item", items);
        mav.setViewName("editItem");
        return mav;

    }
  • 前后端字段对不上
// 更改后接收
@RequestMapping(value = "/itemEdit.action")
public ModelAndView toEdit(
    @RequestParam(value = "id",required = false,defaultValue = "1") Integer receiveId,
    HttpServletResponse response,
    HttpSession session,
    Model model){

        //查询一个商品
        Items items = itemService.selectItemsById(id);
        ModelAndView mav = new ModelAndView();
        //数据
        mav.addObject("item", items);
        mav.setViewName("editItem");
        return mav;
}



// @RequestParam(value = "id",required = false,defaultValue = "1")
// value = "id" 接受到前端法的的字段
// required 改字段是否必须 ,默认必须
// defaultValue = "1" 默认值在分页时,前端不传值的情况下默认第一页
  • 可以直接接收
// 直接接收
@RequestMapping(value = "/itemEdit.action")
public ModelAndView toEdit(
    Integer id,
    HttpServletRequest request,
    HttpServletResponse response,
    Model model){
        //查询一个商品
        Items items = itemService.selectItemsById(id);
        ModelAndView mav = new ModelAndView();
        //数据
        mav.addObject("item", items);
        mav.setViewName("editItem");
        return mav;
    }
  • pojo 类型接收
// i
    public void updateItemsById(Items items);

// impl
    public void updateItemsById(Items items){
        items.setCreatetime(new Date());
        itemsMapper.updateByPrimaryKeyWithBLOBs(items);

// controller
    //提交修改页面 入参  为 Items对象  
    @RequestMapping(value = "/updateitem.action")
    public ModelAndView updateitem(Items items){
       itemService.updateItemsById(vo.getItems());
       ModelAndView mav = new ModelAndView();
       mav.setViewName("success");
       return mav;
}
  • 包装类型接收
// 1、

public class Items {
    private Integer id;

    private String name;

    private Float price;

    private String pic;

    private Date createtime;

    private String detail;

  // 略...
}



//2、 包装类型绑定数据




public class QueryVo {


    //商品
    private Items items;

    Integer[] ids;

    private List<Items> itemsList;

    // 略...
}

//3、 controller层

/**
* 前端传递 item.id,item.
*/
//提交修改页面 入参  为 Items对象  
    @RequestMapping(value = "/updateitem.action")
//  public ModelAndView updateitem(Items items){
    public String updateitem(QueryVo vo){

        //修改
        itemService.updateItemsById(vo.getItems());

        ModelAndView mav = new ModelAndView();
        mav.setViewName("success");
        return mav;

    }
// 4、service 层
// 接口
public interface ItemService {

    //查询商品列表
    public List<Items> selectItemsList();

    public Items selectItemsById(Integer id);


    //修改
    public void updateItemsById(Items items);

}

// impl
public class ItemServiceImpl implements ItemService {

    @Autowired
    private ItemsMapper itemsMapper;

    //查询商品列表
    public List<Items> selectItemsList(){
        return itemsMapper.selectByExampleWithBLOBs(null);
    }
    public Items selectItemsById(Integer id){
        return itemsMapper.selectByPrimaryKey(id);
    }
    //修改
    public void updateItemsById(Items items){
        items.setCreatetime(new Date());
        itemsMapper.updateByPrimaryKeyWithBLOBs(items);
    }
}

猜你喜欢

转载自blog.csdn.net/web_longboss/article/details/79779786
今日推荐