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域中的。

  • 相关阅读:
    JavaScript之事件冒泡和事件捕获详细介绍
    jQuer配合CSS3实现背景图片动画
    jQuery中animate()的方法以及$("body").animate({"scrollTop":top})不被Firefox支持问题的解决
    JavaScript 运用之表单验证(正则)和控制输入长度。
    input[type=submit]以及数字日期在苹果手机上显示异常的处理
    webstorm 快捷键
    Bootstrap 折叠(Collapse)插件
    input输入内容时放大问题及处理
    省市二级联动(原生JS)
    Spring4.X——搭建
  • 原文地址:https://www.cnblogs.com/WarBlog/p/15029840.html
Copyright © 2011-2022 走看看