`
一顿饺子
  • 浏览: 50837 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个最简单的SimpleFormController使用

阅读更多
User

public class User {
    private int id;
    private String userName;
    //省掉了getter和setter方法,用的时候要加上
}

FormAction

public class InFormAction  extends SimpleFormController{

/* (non-Javadoc)
* @see org.springframework.web.servlet.mvc.SimpleFormController#onSubmit(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.Object, org.springframework.validation.BindException)
*/
@Override
protected ModelAndView onSubmit(HttpServletRequest request,
HttpServletResponse response, Object command, BindException errors)
throws Exception {

User user = (User)command;
ModelAndView mav=new ModelAndView(getSuccessView());
mav.addObject("user",user);
return mav;

}

@Override
protected Object formBackingObject(HttpServletRequest request) throws Exception {

User user = new User();

if(null==request.getParameter("id")) {
return user;
}

return request;

}
}


添加用户流程
第一: <a href="infoForm.do">添加用户</a> 点击该链接,会根据infoForm.do找到dispatcherContext.xml里所对应的一个FormAction

配置如下:<bean name="/infoForm.do" class="com.edu.view.console.InFormAction">
<!--添加页面-->
<property name="formView" value="addInfoForm"/>
<!--添加成功显示页面 -->
<property name="successView" value="InfoList"/>
</bean>

第二:进入InFormAction,会执行formBackingObject方法,他会返回一个Model给添加页面
第三:此时添加页面会显示,添加用户名,点击确定,又会进入InFormAction,执行formBackingObject(提示这一步就没有不要进入formBackingObject,可是不明白SimpleFormController为什么又进入这一步)
在SimpleFormController方法中有null==request.getParameter("id"),就是判断你是新增还是修改。如果在页面上你传递的URL中存在id参宿,则为修改

SimpleFormController主要作用就是给视图返回数据的(无论是新增还是修改)
第四:走完SimpleFormController,会走onSubmit方法,该方法中的Object command参数就是页面上的数据Model(注意添加用户页面上的属性名字必须跟User里的属性一致,否则会报错),跳转到成功页面

源码参照附近,部署到MyEclipse就可以运行



分享到:
评论

相关推荐

    Spring MVC控制器之SimpleFormController使用

    NULL 博文链接:https://huihai.iteye.com/blog/1967697

    springMVC3学习(六)--SimpleFormController(源码)

    springMVC3学习(六)--SimpleFormController(源码) 文章地址:http://blog.csdn.net/itmyhome1990/article/details/25988733

    开源框架 Spring Gossip

    Spring MVC 入门 从一个最简单的 Spring Web 应用程式,来看看 Spring MVC 框架的架构与 API 组成元素。 第一个 Spring MVC 程式 WebApplicationContext Handler Mapping Handler ...

    legacy-app:使用 Spring 演讲改进您的遗留应用程序的代码

    3.2 版本是包含SimpleFormController的最后一个版本,这将允许更轻松的迁移路径。 现在可以选择使用SimpleFormController虽然已弃用),或者切换到@Controller 。 JDK从1.4更新到1.6,代码保持不变。为...

    Spring MVC与JAX-RS比较与分析

    去几年,REST逐渐成为影响Web框架、Web协议与Web应用设计的重要概念...更进一步,如果你手头有一个Spring MVC应用,使用了控制类继承(SimpleFormController等),你可能还意识不到现在的Spring MVC对REST广泛的支持。

    Spring MVC 例子

    Spring MVC例子 有SimpleFormController ,MultiationController等控制器的应用介绍.算是比较完整的例子大家看看吧。

    Web框架-spring

    Spring的web框架是围绕...你可以通过实现这个接口来生成自己的控制器(也可以称之为处理器),但是从Spring提供的一系列控制器继承会更省事,比如AbstractController、AbstractCommandController和SimpleFormController

    spring 2.0表单绑定实例

    自己写的spring表单绑定的小例子,分别使用SimpleFormController,MultiActionController,spring的form tag和validator。 还在MultiActionController里面实现了表单的绑定

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (1)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (3)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    第十一章 使用Struts快速实现Web开发 11.1 Struts介绍 11.1.1 Struts简介 11.1.2 Struts和Spring比较 11.1.3 下载Struts 11.1.4 配置Struts 11.2 Struts的核心 11.2.1 ActionServlet(分发器) 11.2.2 Action(控制...

    Spring-Validator-开源

    Spring-Validator软件包提供了一种自动生成JavaScript客户端验证代码的简单方法,并提供了SimpleFormController的通用验证器

    CryptoPresto:基于Spring MVC的Web平台,用于加密交易和转移

    一个基于Spring MVC的网络平台,用于加密货币交易和转移 框架:Spring mvc 5.2.3.RELEASE。 查看:JSP。 数据持久性:Hibernate5.4.10.Final。 数据库:MySQL 8.0.21 Java:1.8。 用户表单提交:...

    SPRING API 2.0.CHM

    All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory....

Global site tag (gtag.js) - Google Analytics