springMVC @ModelAttribute功能

@ModelAttribute功能:将数据模型回写到页面

如:

1 public String validate(@Valid @ModelAttribute("user") UserModel user, Errors errors) {
2   if (errors.hasErrors()) {
3     return "validate/error";
4   }
5   return "validate/success";
6 }

 

1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
2 <%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
3 <form:form commandName="user">
4     <form:errors path="*"   cssStyle="color:red"></form:errors><br/>
5 </form:form>

可用Model代替:

 1 @RequestMapping("/editItemsSubmit")
 2     public String editItemsSubmit(Model model,HttpServletRequest request,Integer id,
 3             @Validated MItemsCustom mItemsCustom,BindingResult bindingResult) throws Exception{
 4         //获取校验错误信息
 5         if(bindingResult.hasErrors()){
 6             //输出错误信息
 7             List<ObjectError> allErrors = bindingResult.getAllErrors();
 8             List<String> listErrors = new ArrayList<String>();
 9             for(ObjectError objectError:allErrors){
10                 //输出错误信息
11                 String strError = new String(objectError.getDefaultMessage().getBytes("ISO-8859-1"),"UTF-8");
12                 listErrors.add(strError);
13             }
14             //将错误信息传到页面
15             model.addAttribute("allErrors", listErrors);
16             model.addAttribute("mItemsCustom",mItemsCustom);
17             //出错重新到商品修改页面
18             return "items/editItems";
19         }
20         
21         //调用service更新商品信息,页面需要将商品信息传到此方法
22         mItemsService.updateMItems(id, mItemsCustom);
23         //重定向
24         //return "redirect:queryItems.action";
25         //页面转发
26         return "forward:queryItems.action";
27     }
1 <!-- 显示错误信息 -->
2 <c:if test="${allErrors!=null }">
3     <c:forEach items="${allErrors }" var="error">
4         ${error}
5     </c:forEach>
6 </c:if>

 

posted @ 2018-02-06 10:50  silvan_happy  阅读(1006)  评论(0编辑  收藏  举报