微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐