以下内容引用自http://wiki.jikexueyuan.com/project/spring/mvc-framework/spring-mvc-form-handling-example.html:

例子:

pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.jsoft.testspring</groupId><artifactId>testmvcform</artifactId><packaging>war</packaging><version>0.0.1-SNAPSHOT</version><name>testmvcform Maven Webapp</name><url>http://maven.apache.org</url><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>3.8.1</version><scope>test</scope></dependency><!-- Servlet Library --><!-- http://mvnrepository.com/artifact/javax.servlet/javax.servlet-api --><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope></dependency><!-- Spring Core --><!-- http://mvnrepository.com/artifact/org.springframework/spring-core --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.1.4.RELEASE</version></dependency><!-- Spring Web --><!-- http://mvnrepository.com/artifact/org.springframework/spring-web --><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>4.1.4.RELEASE</version></dependency><!-- Spring Web MVC --><!-- http://mvnrepository.com/artifact/org.springframework/spring-webmvc --><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.1.4.RELEASE</version></dependency></dependencies><build><finalName>testmvcform</finalName><plugins><!-- Config: Maven Tomcat Plugin --><!-- http://mvnrepository.com/artifact/org.apache.tomcat.maven/tomcat7-maven-plugin --><!-- http://tomcat.apache.org/maven-plugin-2.0/tomcat7-maven-plugin/plugin-info.html --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><!-- Config: contextPath and Port (Default:8080) --><!-- <configuration> <path>/</path> <port>8899</port> </configuration>--></plugin><!-- Config: Maven Jetty Plugin --><!-- http://mvnrepository.com/artifact/org.mortbay.jetty/jetty-maven-plugin --><!-- http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html --><plugin><groupId>org.eclipse.jetty</groupId><artifactId>jetty-maven-plugin</artifactId><version>9.4.3.v20170317</version><!-- Config: contextPath and Port (Default:8080) --><!--             <configuration><httpConnector><port>8899</port></httpConnector><webAppConfig><contextPath>/</contextPath></webAppConfig></configuration>--></plugin></plugins></build>
</project>

web.xml:

<web-app id="WebApp_ID" version="3.0"xmlns="http://java.sun.com/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"><display-name>Spring MVC Application</display-name><servlet><servlet-name>spring-mvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 默认:[servlet-name]-servlet.xml --><!-- 通过初始化参数,指定xml文件的位置 --><init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/springmvc-context.xml</param-value></init-param><load-on-startup>1</load-on-startup></servlet>   <servlet-mapping><servlet-name>spring-mvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

springmvc-context.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><context:component-scan base-package="com.jsoft.testspring"/><context:annotation-config/><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix"><value>/WEB-INF/jsp/</value></property><property name="suffix"><value>.jsp</value></property>   </bean></beans>

Student.java:

package com.jsoft.testspring.testmvcform;public class Student {private Integer age;private String name;private Integer id;public void setAge(Integer age) {this.age = age;}public Integer getAge() {return age;}public void setName(String name) {this.name = name;}public String getName() {return name;}public void setId(Integer id) {this.id = id;}public Integer getId() {return id;}
}

StudentController.java:

package com.jsoft.testspring.testmvcform;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;@Controller
public class StudentController {@RequestMapping(value="/student",method=RequestMethod.GET)public ModelAndView student(){return new ModelAndView("student","command",new Student());}@RequestMapping(value="/addStudent",method=RequestMethod.POST)public String addStudent(Student student,Model model){model.addAttribute("name",student.getName());model.addAttribute("age",student.getAge());model.addAttribute("id", student.getId());return "result";}
}

说明:在这里,第一个service方法student(),我们已经在名称为“command”的ModelAndView对象中传递一个空的Student对象,因为如果你在JSP文件中使用<form:form>标签时,spring框架需要一个名称的“command”的对象。所以,当student()方法被调用时,它返回student.jsp视图。第二个service方法addStudent()将调用/addStudent URL中的POST方法。将根据提交的信息准备好模型对象。最后一个“result”视图会从service方法中返回,它将导致呈现result.jsp。

student.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html>
<head><title>Spring MVC Form Handling</title>
</head>
<body><h2>Student Information</h2>
<form:form method="POST" action="addStudent"><table><tr><td><form:label path="name">Name</form:label></td><td><form:input path="name" /></td></tr><tr><td><form:label path="age">Age</form:label></td><td><form:input path="age" /></td></tr><tr><td><form:label path="id">id</form:label></td><td><form:input path="id" /></td></tr><tr><td colspan="2"><input type="submit" value="Submit"/></td></tr>
</table>
</form:form>
</body>
</html>

result.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Spring MVC Form Handling</title>
</head>
<body><h2>Submitted Student Information</h2><table><tr><td>Name</td><td>${name}</td></tr><tr><td>Age</td><td>${age}</td></tr><tr><td>ID</td><td>${id}</td></tr>
</table>
</body>
</html>

测试结果:

测试工程:https://github.com/easonjim/5_java_example/tree/master/springtest/test19/testmvcform

Spring MVC表单实例相关推荐

  1. Spring MVC表单验证(带批注)

    这篇文章提供了一个简单HTML表单验证示例. 它基于带有注释的Spring MVC示例. 该代码可在GitHub的Spring-MVC-Form-Validation目录中找到. 数据 在此示例中,我 ...

  2. Spring MVC表单防重复提交

    转载自 Spring MVC表单防重复提交 利用Spring MVC的过滤器及token传递验证来实现表单防重复提交. 创建注解 @Target(ElementType.METHOD) @Retent ...

  3. SSM框架笔记14:Spring MVC表单验证

    Spring MVC表单验证   在Spring MVC中,表单验证有三种方法.   一.基本校验 这种方法是基于handler的,优点是定义方便,缺点是不便于复用. 1.两个接口:Errors/Bi ...

  4. Spring MVC表单教程

    本教程将展示如何在Spring MVC中处理表单提交. 我们将定义一个控制器来处理页面加载和表单提交. 您可以在GitHub上获取代码. 先决条件: 您应该有一个运行中的Spring MVC应用程序. ...

  5. Spring MVC表单验证

    看登录控制器代码: @RequestMapping(method=RequestMethod.POST,path="/login")public void login(@Valid ...

  6. 一文学会 Spring MVC 表单标签

    ✅作者简介:2022年博客新星 第八.热爱国学的Java后端开发者,修心和技术同步精进.

  7. 表单实例(判断两次密码是否一致)

    表单实例(判断两次密码是否一致) 一.实例描述: 本例是一个综合性的练习,除了们正在学习的JS知识外,还用到了HTML的表格,表单等相关知识. 二.截图 三.代码 1 <!DOCTYPE htm ...

  8. Spring进行表单验证

    转自:https://www.tianmaying.com/tutorial/spring-form-validation 开发环境 IDE+Java环境(JDK 1.7或以上版本) Maven 3. ...

  9. 菜鸟教程 php表单验证码,PHP完整表单实例 | 菜鸟教程

    PHP 完整表单实例 本章节将介绍如何让用户在点击"提交(submit)"按钮提交数据前保证所有字段正确输入. PHP - 在表单中确保输入值 在用户点击提交按钮后,为确保字段值是 ...

最新文章

  1. XCode 7上传遇到ERROR ITMS-90535 Unexpected
  2. wpf 客户端【JDAgent桌面助手】开发详解(四) popup控件的win8.0的bug
  3. 从程序员到CTO的Java技术路线图 (转自安卓巴士)
  4. unity3d在Android端读取修改Json数据
  5. 操作系统概念学习笔记 4 操作系统结构和操作简述
  6. 利用Python进行数据分析--数据聚合与分组运算1
  7. 现代处理器设计——超标量处理器基础1-4
  8. 最新| ClickHouse入门、调优、实战一条龙全解秘籍
  9. 【python学习】python实现利用pygame绘画基本图形、显示图片,实现图形图片随机效果。python绘制行列图片
  10. Flutter水波纹效果
  11. 路由器自动获取ip失败
  12. js判断手机是否安装了某个APP,如果安装了就打开,没安装就下载
  13. 等额本息还款和等额本金还款计算公式的推导
  14. 【macOS免费软件推荐】第6期:洛雪音乐
  15. 纽约大学本科经济计算机专业,美国纽约大学计算机科学本科专业申请
  16. 2011年2月14日 业界新闻摘要
  17. 蓝桥杯 — 超声波测距模块的使用
  18. GNSS Interface Control Document报文协议文档
  19. 多个label排版,动态长度及自动换行
  20. WeakMap 与 WeakSet

热门文章

  1. EmitMapper,AutoMapper,NLiteMapper和手工映射性能大比拼
  2. 深入理解css之float
  3. 8Python全栈之路系列之Django Cookie 与Sessi
  4. 《相关性准则——大数据时代的高效能之道》一一2.3 数字信息
  5. Oracle把Java EE的未来押在Rest API上了?
  6. 送一个内存泄漏给 2016 的记几
  7. Centos系统python2.x升级python3.x
  8. 北京最值得逛的50个地方:后海、798、簋街...
  9. fzyzojP2984 -- 序列变换问题
  10. Java 高级算法——数组中查询重复的数字之二