BindingResult result 的使用,必须在controller层增加@ModelAttribute("fundsPreTransfer") 它和ModelAttribute同时使用,并且参数要紧挨着。这样才不会报。Errors/BindingResult argument declared without preceding model attribute异常。
注意:
@RequestMapping("/funds/transfer/save")
public String save(
@ModelAttribute("fundsPreTransfer") FundsPreTransfer fundsPreTransfer,
BindingResult result, Model model, HttpServletRequest request) {
// 服务器端校验
fundsTransferValidator.validate(fundsPreTransfer, result);
if (result.hasErrors()) {
// 如果存在错误,则跳转到显示页面
return "funds/transfer/show";
}
Double transferAmount = fundsPreTransfer.getTransferAmount();
String comments = fundsPreTransfer.getComments();
fundsPreTransfer.setTransferIp(request.getRemoteAddr());
// query fundsSerialNumber
String fundsSerialNumber = RandomStringUtils.random(9, false, true);
fundsPreTransfer.setFundsSerialNumber(fundsSerialNumber);// 设置流水号
// 保存转账记录。
fundsPreTransferService.persist(fundsPreTransfer, getUsername(),
transferAmount);
// 传递值到下一页面。
String fundsAccount = request.getParameter("fundsAccount");// 资金账号
model.addAttribute("fundsAccount", fundsAccount);
model.addAttribute("counterpartyFundsAccount",
request.getParameter("counterpartyFundsAccount"));
// 查出username
FundsBase fundsBase = fundsBaseService.findByFundsAccount(fundsAccount);
BaseAccount baseAccount = fundsBase.getBaseAccount();
String username = baseAccount.getUsername();
model.addAttribute("username", username);
model.addAttribute("transferAmount", transferAmount);
model.addAttribute("comments", comments);
model.addAttribute("fundsSerialNumber", fundsSerialNumber);
return "funds/transfer/show_next";
}
分享到:
相关推荐
对于验证,Spring MVC提供了BindingResult和Validator接口,用于校验模型数据的正确性。 另外,Spring MVC与Spring框架的其他组件无缝集成,如Spring AOP(面向切面编程)用于实现日志、事务管理等功能,Spring ...
public String register(@Validated({RegistrationChecks.class, PasswordChecks.class}) RegistrationForm form, BindingResult result) { // 处理结果并保存用户 } ``` 上述示例中,`RegistrationChecks` 和...
可以使用JSR-303/JSR-349的Bean Validation注解(如`@NotNull`,`@Size`等)来定义字段规则,然后在控制器中使用`BindingResult`对象来检查验证结果并处理错误。 5. **配置(Configuration)**:在Spring3中,配置...
- **BindingResult**:获取验证结果,用于显示错误信息。 6. **拦截器** - **HandlerInterceptor**:拦截请求,执行预处理和后处理操作,如权限验证、日志记录等。 - **@Order**:指定拦截器执行顺序。 7. **...
`BindingResult`参数用于捕获验证结果,如果表单数据不合法,Spring MVC会自动填充错误信息。 `BeanUtils.java`通常包含了一些实用工具方法,比如对象复制或者转换。在数据校验场景下,这些工具方法可能用于将校验...
Spring MVC提供了良好的支持,它能够按照预设规则对传入的数据进行验证,验证失败的信息会存储在`BindingResult`对象中。开发者可以选择在JSP页面上显示这些错误信息,或者在拦截器的after方法中处理错误信息,尤其...
3. **全局错误处理**:当校验失败时,Spring MVC 可以通过 `BindingResult` 对象获取校验错误信息。为了提供统一的错误响应,我们可以配置一个全局异常处理器,捕获 `MethodArgumentNotValidException` 异常,然后...
如果校验失败,Spring MVC会自动将错误信息放入BindingResult对象中,你可以进一步处理这些错误信息并返回给客户端。 **2. 文件上传** 在Spring MVC中,文件上传通常通过`MultipartFile`接口实现。你需要在表单中...
`@ModelAttribute`注解用于将请求参数与模型属性绑定,`@Valid`配合`@Validated`注解进行数据校验,错误信息可以通过`BindingResult`对象获取。 七、异常处理 通过`@ExceptionHandler`注解,可以在控制器中处理特定...
10. **验证**:Spring MVC 结合 `Hibernate Validator` 提供了表单验证功能,可以使用 `@Valid` 和 `BindingResult` 进行校验。 11. **RESTful 风格**:通过 `@RestController` 注解和 HTTP 方法注解(`@GetMapping...
当数据不满足校验规则时,Spring MVC会自动收集所有错误,并将它们放入`BindingResult`对象中。在控制器方法中,我们可以检查这个对象并决定如何处理错误,例如重定向到错误页面或显示错误消息。 ```java @...
7. **Validation**:Spring MVC提供验证机制,通过`@Valid`和`BindingResult`可以对模型对象进行校验。 8. **ExceptionHandler**:通过定义`@ExceptionHandler`方法,可以集中处理全局的异常,提高代码的可维护性。...
7. **数据验证**:通过 `@Valid` 和 `BindingResult` 注解,Spring MVC 支持 JSR-303/JSR-349 数据验证标准,可对模型对象进行校验。 8. **异常处理**:`@ExceptionHandler` 注解允许开发者自定义处理特定异常的...
你可以使用`BindingResult`对象来获取验证错误,并将其传递给视图层。 7. **视图技术**: 实例中可能使用了JSP、Thymeleaf或其他视图技术来渲染表单和错误消息。在JSP中,可以使用EL表达式和JSTL标签库来展示错误...
Spring MVC提供了一个`ValidationUtils`工具类,可以在验证逻辑中方便地调用,例如`ValidationUtils.rejectIfNull BindingResult, "field", "error.code"`,这个方法会将“field”字段标记为错误,并关联到“error....
下面,我们将深入探讨Spring MVC的相关知识点。 1. **MVC架构模式** - **模型(Model)**:模型层负责业务逻辑的处理,通常由JavaBean或领域对象构成,它们与数据源交互并返回数据。 - **视图(View)**:视图层...
在上面的例子中,`@Valid`注解会触发对`User`对象的校验,如果校验失败,`BindingResult`对象将包含校验错误信息。我们可以检查`BindingResult`来决定是否继续处理请求,或者向用户返回错误消息。 除了使用预定义的...
在Spring MVC框架中整合Hibernate的校验机制,可以极大地提高我们开发Web应用的效率和代码质量。这主要是通过使用Hibernate Validator来实现数据的验证,它是一个遵循JSR 303(Java Bean Validation)和JSR 349...
标题中的“spring注入web端校验类”指的是在Spring框架中,如何将验证逻辑整合到Web应用程序中,以便对用户输入的数据进行有效性检查。在Web应用中,数据验证是至关重要的,可以防止非法数据进入系统,确保数据的...