spring+mybatis日志2

  • 问题描述:在前端一个显示商品列表页面,通过点击修改按钮跳转到修改页面,因为需要绑定商品列表页面的id属性作为参数进行修改对应商品,但是参数传递却一直无效
/*这里是商品列表页面跳转到修改页面*/
<a href="${pageContext.request.contextPath}/itemEdit.action?id=${item.id}">修改a>
/*这里是修改页面获取id属性部分代码*/
"itemForm" action="${pageContext.request.contextPath }/updateitem.action" method="post"> type="hidden" name="items.id" value="${item.id }"> 修改商品信息: ........
  • 思路:

    • 最开始的想法就是是不是因为超链接导致传输信息丢失,于是在页面利用session获取属性并保存,再打断点,获取不到,谷歌浏览器F12模式查看response包体属性为空

    • 接下来,写测试代码发现在controller层中修改信息部分代码入参id是有的,排除id传参为空的可能

    • 最后查看springmvc文档,再查看源码发现是利用HashMap进行属性保存获取,猜测{key,value}存取错误,于是代码一点点仔细查了一遍,果然是属性名不配对的问题
/*这是controller层处理代码*/
@RequestMapping("/itemEdit")
    public String toItemsEdit(Integer id, ModelMap model){
        Items items = itemServices.queryItemsById(id);
        /** *这里存取错误,在JSP我是利用value="${item.xx }获取数据, *而我这里的键值对为{"items",items},不匹配 */
        model.addAttribute("items",items);
        return "editItem";
    }

    /** * 修改更新信息 */
    @RequestMapping("/updateitem")
    public String updateItem(QueryVo vo){

        itemServices.updateItemById(vo.getItems());

        return "redirect:/itemList.action";
    }
  • 总结:仅仅是因为将item写成items导致修改bug耗磨时间,终究还是代码不够严谨,小细节没有处理好,谨记以此勉励!!

你可能感兴趣的:(一些bug细节(谨记))