/**
* 当前段控制器把请求转交给此控制器后,会首先调用formBackinigObject方法
* 此方法的作用是根据绑定的Command Class来创建一个Command对象,因此除了可以在构造方法中调用
* setCommandClass方法,也可以在此处调用setCommandClass方法。其实创建这个command对象
* 很简单,spring通过如下代码完成
* BeanUtils.instantiateClass(this.commandClass);
* 由于在此处必须根据commandClass来完成Command对象的创建,因此在此方法调用前应保证commandClass设置完成
* 所以我们可以在formBackingObject方法和构造方法中完成commandClass的设置。
*/
protected Object formBackingObject(HttpServletRequest request) throws Exception{
return super.formBackingObject(request);
}
/**调用initBinder方法,初始化Command对象,即把表单参数与command字段按名称进行匹配赋值。
*/
protected void initBinder(HttpServletRequest request,ServletRequestDataBinder binder) throws Exception{
super.initBinder(request, binder);
}
/**调用onBind方法,把Command对象和后端控制器绑定。
*/
protected void onBind(HttpServletRequest request, Object command){
super.onBind(request, command);
}
/**
* 调用onBindAndValidate方法,验证用户输入的数据是否合法。如果验证失败,我们可以通过修改errors参数
* 即新的errors对象将会绑定到ModelAndView上并重新回到表单填写页面。
*
*
*/
protected void onBindAndValidate(HttpServletRequest request, Object command, BindException errors){
super.onBindAndValidate(request, command, errors);
}
分享到:
相关推荐
在Spring MVC框架中,`SimpleFormController`是一个基础的控制器类,它简化了处理表单提交和模型数据绑定的过程。这个控制器是Spring MVC早期版本中的一个组件,现在已经被`@Controller`注解的类所取代,尽管如此,...
本篇文章将详细探讨`Spring MVC`中的`SimpleFormController`类及其使用方法。 `SimpleFormController`是Spring MVC早期版本中用于处理表单数据的控制器类,它为开发者提供了一种简化表单处理的抽象。在Spring 3.0...
springMVC3学习(六)--SimpleFormController(源码) 文章地址:http://blog.csdn.net/itmyhome1990/article/details/25988733
本示例将深入探讨`SimpleFormController`和`MultiActionController`这两种控制器在Spring MVC中的应用。 首先,`SimpleFormController`是Spring MVC早期版本中提供的一个抽象控制器,主要用于处理表单提交。它内置...
首先,我们有一个`Login`类,它是`SimpleFormController`的扩展。`SimpleFormController`是Spring MVC早期版本中用于处理表单提交的基础控制器。在`onSubmit`方法中,我们获取到用户提交的数据(`User`对象),并将...
- **内置实现类**:除了基本的`Controller`接口外,Spring还提供了许多内置的控制器实现,如`AbstractController`、`AbstractCommandController`和`SimpleFormController`等,这些控制器类为开发人员提供了更多的...
public class SimpleFormController extends org.springframework.web.servlet.mvc.SimpleFormController { public SimpleFormController() { setCommandClass(User.class); setCommandName("user"); } ...
通过以上讨论,我们可以看到Spring MVC中的`<spring:bind>`和`<spring:message>`标签是如何简化视图层的编程,以及`SimpleFormController`如何协助处理表单提交和验证。了解这些核心概念有助于构建更高效、更健壮的...
在传统的Spring MVC中,Controller通常需要实现`org.springframework.web.servlet.mvc.Controller`接口,或者是继承`SimpleFormController`或`MultiActionController`。但是使用注解后,Controller不再需要继承任何...
这与传统的实现 `org.springframework.web.servlet.mvc.Controller` 接口或者继承 `SimpleFormController` 或 `MultiActionController` 不同,`@Controller` 注解使得我们的类变成了一个纯粹的 POJO,无需额外的接口...
它提供了多种控制器类型,如AbstractController、AbstractCommandController、MultiActionController、SimpleFormController等,满足不同层次的控制需求。与Struts不同,SpringMVC允许直接使用任意对象作为命令或...
去几年,REST逐渐成为影响Web框架、Web协议与Web应用设计的重要概念...更进一步,如果你手头有一个Spring MVC应用,使用了控制类继承(SimpleFormController等),你可能还意识不到现在的Spring MVC对REST广泛的支持。
控制器可以通过多种方式实现,如AbstractController、AbstractCommandController、MultiActionController、SimpleFormController、AbstractWizardFormController等,根据应用需求选择合适的基类。与Struts相比,...
Spring MVC 提供了一些控制器,如 SimpleFormController 和 AbstractWizardController,但它们仍然没有完全解决页面流程的管理问题。 Spring Web Flow 提供了一种统一的方法来定义和实现页面流程,使得流程逻辑独立...
- 介绍如何升级SimpleFormController。 #### View - **PDF示例-BeanView** - 提供生成PDF文件的具体案例。 - **开发规范** - 提供View层的设计和编码规范。 #### 数据校验配置 - **校验配置** - 介绍如何...
默认的控制接口提供了一个简单的方法`handleRequest(request, response)`,通过扩展AbstractController、AbstractCommandController、SimpleFormController等基类,可以实现多层控制逻辑。与Struts不同,Spring允许...
public class FileUploadController extends SimpleFormController { private static final Log log = LogFactory.getLog(FileUploadController.class); @Override protected ModelAndView onSubmit...
Spring提供了多种控制器基类,如`AbstractController`、`AbstractCommandController`、`MultiActionController`、`SimpleFormController`和`AbstractWizardFormController`,以适应不同层次的控制需求。与Struts不同...