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就可以运行
分享到:
相关推荐
NULL 博文链接:https://huihai.iteye.com/blog/1967697
springMVC3学习(六)--SimpleFormController(源码) 文章地址:http://blog.csdn.net/itmyhome1990/article/details/25988733
Spring MVC 入门 从一个最简单的 Spring Web 应用程式,来看看 Spring MVC 框架的架构与 API 组成元素。 第一个 Spring MVC 程式 WebApplicationContext Handler Mapping Handler ...
3.2 版本是包含SimpleFormController的最后一个版本,这将允许更轻松的迁移路径。 现在可以选择使用SimpleFormController虽然已弃用),或者切换到@Controller 。 JDK从1.4更新到1.6,代码保持不变。为...
去几年,REST逐渐成为影响Web框架、Web协议与Web应用设计的重要概念...更进一步,如果你手头有一个Spring MVC应用,使用了控制类继承(SimpleFormController等),你可能还意识不到现在的Spring MVC对REST广泛的支持。
Spring MVC例子 有SimpleFormController ,MultiationController等控制器的应用介绍.算是比较完整的例子大家看看吧。
Spring的web框架是围绕...你可以通过实现这个接口来生成自己的控制器(也可以称之为处理器),但是从Spring提供的一系列控制器继承会更省事,比如AbstractController、AbstractCommandController和SimpleFormController
自己写的spring表单绑定的小例子,分别使用SimpleFormController,MultiActionController,spring的form tag和validator。 还在MultiActionController里面实现了表单的绑定
一共四个,其中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...
一共四个,其中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...
一共四个,其中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...
第十一章 使用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软件包提供了一种自动生成JavaScript客户端验证代码的简单方法,并提供了SimpleFormController的通用验证器
一个基于Spring MVC的网络平台,用于加密货币交易和转移 框架:Spring mvc 5.2.3.RELEASE。 查看:JSP。 数据持久性:Hibernate5.4.10.Final。 数据库:MySQL 8.0.21 Java:1.8。 用户表单提交:...
All Classes AbstractAdvisorAutoProxyCreator AbstractApplicationContext AbstractApplicationEventMulticaster AbstractAspectJAdvice AbstractAspectJAdvisorFactory AbstractAspectJAdvisorFactory....