springMVC @ModelAttribute功能

本文详细介绍了Spring MVC中@ModelAttribute注解的使用方法,通过示例展示了如何将数据模型回写到页面,包括数据验证、错误信息处理及页面跳转等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@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>

 

转载于:https://www.cnblogs.com/zhouyeqin/p/8421210.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值