zoukankan      html  css  js  c++  java
  • springmvc数据回显

    一、什么是数据回显

      页面数据提交后,如果出现错误,将刚才提交的数据回显到刚才的提交页面。

    二、pojo数据回显方法

      Ⅰ、springmvc默认对pojo数据进行回显

      Ⅱ、@ModelAttribute还可以将方法的返回值传到页面

        // 商品分类
        //itemtypes表示最终将方法返回值放在request中的key
        @ModelAttribute("itemtypes")
        public Map<String, String> getItemTypes() {
    
            Map<String, String> itemTypes = new HashMap<String, String>();
            itemTypes.put("101", "数码");
            itemTypes.put("102", "母婴");
    
            return itemTypes;
        }

        ①、页面上可以得到itemTypes数据

    商品类型:
    <select name="itemtype">
        <c:forEach items="${itemtypes }" var="itemtype">
            <option value="${itemtype.key }">${itemtype.value }</option>        
        </c:forEach>
    </select>

        ②、结果

       Ⅲ、使用最简单方法使用model,可以不用@ModelAttribute

        @RequestMapping("/editItemsSubmit")
        public String editItemsSubmit(Model model,@Validated(value= {ValidGroup1.class}) ItemsCustom itemsCustom,BindingResult bindingResult) 
                throws Exception {
            // 获取校验错误信息
            if (bindingResult.hasErrors()) {
                // 输出错误信息
                List<ObjectError> allErrors = bindingResult.getAllErrors();
    
                for (ObjectError objectError : allErrors) {
                    // 输出错误信息
                    System.out.println(objectError.getDefaultMessage());
    
                }
                // 将错误信息传到页面
                model.addAttribute("allErrors", allErrors);
                
                
                //可以直接使用model将提交pojo回显到页面
                model.addAttribute("items", itemsCustom);
                
                // 出错重新到商品修改页面
                return "items/editItems";
            }

    三、简单类型回显

    使用最简单方法使用model

    model.addAttribute("id", id);

    四、总结

    数据回显本质:将数据存储到request域中,用于页面渲染。无论Model,ModelAndView,@ModelAttribute实际上就是数据存储到request域中的。

  • 相关阅读:
    【爬虫】微信读书笔记如何导出到本地?
    工作面试题——值得一看
    算法实验三——图的遍历算法
    数据结构之排序算法
    汇编语言学习总结
    洛谷—— P2658 汽车拉力比赛
    洛谷—— P1419 寻找段落
    CODEVS——T 1700 施工方案第二季
    洛谷—— P3811 【模板】乘法逆元
    JAVA中传递的值还是引用的问题
  • 原文地址:https://www.cnblogs.com/WarBlog/p/15029840.html
Copyright © 2011-2022 走看看