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>