以下示例演示如何编写一个简单的基于Web的应用程序,它使用Spring Web MVC框架使用HTML表单。 首先使用Eclipse IDE,并按照以下步骤使用Spring Web Framework开发基于动态表单的Web应用程序:

  1. 基于上一小节中的Spring MVC - Hello World实例章节所创建的 HelloWeb来创建一个新的工程为:FormHandling,并创建一个包名称为 com.yiibai.springmvc
  2. com.yiibai.springmvc包下创建两个Java类StudentStudentController
  3. jsp子文件夹下创建两个视图文件student.jspresult.jsp
  4. 最后一步是创建所有源和配置文件的内容并运行应用程序,如下所述。

完整的项目文件结构如下所示 -

Student.java文件中的代码内容 -

package com.yiibai.springmvc;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;}
}

Java

StudentController.java 文件中的代码内容 -

package com.yiibai.springmvc;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.ui.ModelMap;@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(@ModelAttribute("SpringWeb")Student student, ModelMap model) {model.addAttribute("name", student.getName());model.addAttribute("age", student.getAge());model.addAttribute("id", student.getId());return "result";}
}

Java

这里的第一个服务方法student(),我们已经在ModelAndView对象中传递了一个名为“command”的空对象,因为如果在JSP中使用<form:form>标签,spring框架需要一个名为“command”的对象文件。 所以当调用student()方法时,它返回student.jsp视图。

第二个服务方法addStudent()将在 URLHelloWeb/addStudent上的POST方法提交时调用。将根据提交的信息准备模型对象。最后,将从服务方法返回“result”视图,这将最终渲染result.jsp视图。

student.jsp文件的内容如下所示 -

<%@ page contentType="text/html; charset=UTF-8" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html>
<head><title>Spring MVC表单处理</title>
</head>
<body><h2>Student Information</h2>
<form:form method="POST" action="/FormHandling/addStudent"><table><tr><td><form:label path="name">名字:</form:label></td><td><form:input path="name" /></td></tr><tr><td><form:label path="age">年龄:</form:label></td><td><form:input path="age" /></td></tr><tr><td><form:label path="id">编号:</form:label></td><td><form:input path="id" /></td></tr><tr><td colspan="2"><input type="submit" value="提交表单"/></td></tr>
</table>
</form:form>
</body>
</html>

HTML

result.jsp文件的内容如下 -

<%@ page contentType="text/html; charset=UTF-8" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<html>
<head><title>Spring MVC表单处理</title>
</head>
<body><h2>提交的学生信息如下 - </h2><table><tr><td>名称:</td><td>${name}</td></tr><tr><td>年龄:</td><td>${age}</td></tr><tr><td>编号:</td><td>${id}</td></tr>
</table>
</body>
</html>

HTML

完成创建源和配置文件后,导出应用程序。 右键单击应用程序,并使用导出> WAR文件选项,并将 FormHandling.war 文件保存在Tomcat的webapps文件夹中。或者直接右键选择“Run As -> Run On Server”。

启动Tomcat服务器,并确保您能够使用标准浏览器从webapps文件夹访问其他网页。现在尝试URL => http://localhost:8080/FormHandling/student ,如果Spring Web应用程序没有问题,那么应该看到以下结果:

提交所需信息后,点击提交按钮提交表单。 如果Spring Web应用程序没有问题,应该看到以下结果:

原文出自【易百教程】,商业转载请联系作者获得授权,非商业转载请保留原文链接:https://www.yiibai.com/spring_mvc/springmvc_form_handling.html

Spring MVC入门示例教程--表单处理相关推荐

  1. Spring MVC入门示例教程--静态页面跳转

    以下示例显示如何使用Spring MVC Framework编写一个简单的基于Web的应用程序,它可以使用<mvc:resources>标记访问静态页面和动态页面.首先使用Eclipse ...

  2. Spring MVC 入门示例讲解

    在本例中,我们将使用Spring MVC框架构建一个入门级web应用程序.Spring MVC 是Spring框架最重要的的模块之一.它以强大的Spring IoC容器为基础,并充分利用容器的特性来简 ...

  3. Spring MVC 详细示例教程

    转载自 http://www.cnblogs.com/sunniest/p/4555801.html 一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC ...

  4. java mvc中重复提交表单,spring mvc 防止重复提交表单的两种方法,推荐第二种

    第一种方法:判断session中保存的token 比较麻烦,每次在提交表单时都必须传入上次的token.而且当一个页面使用ajax时,多个表单提交就会有问题. 注解Token代码: package c ...

  5. Spring MVC 测试 | 模拟提交表单

    在 Spring 4 MVC 单元测试例子 一文中利用Spring test 框架进行了简单的测试,代码mockMvc.perform(get("/SayHello/getAnswer&qu ...

  6. Eclipse开发Spring MVC入门示例

    一 新建一个动态web工程,并导入包 如图: 二 Spring控制器类 创建一个Spring MVC的一个控制类,并处理请求,打印一句话'Spring MVC示例 ', 那我们先创建包com.tian ...

  7. 【Spring MVC学习】spring mvc入门示例

    之前进公司就直接使用spring mvc做项目了,并没有系统学习过,后来再回头去总结的时候发现我只是在项目中会使用,但是有关spring mvc的配置,还有注解什么的想起来会感觉很混乱,趁着这几天不忙 ...

  8. Spring MVC框架在进行表单提交,自动封装成对象提交,在以对象的形式入参

    最近做了一个超市订单管理系统的项目,使用的是Spring MVC 和Spring 框架. 如上图:进行新用户添加.此处jsp页面代码如下: <div class="right" ...

  9. Spring MVC入门示例

    1.新建一个Java Web项目 2.导入jar包 3.在WEB-INF下面建一个hello.jsp页面. 1 <%@ page language="java" import ...

最新文章

  1. Vivado Logic Analyzer中VIO核的使用
  2. java 集合框架(一)
  3. boost::mp11::mp_reverse_fold相关用法的测试程序
  4. JAVA抽象类为什么可以有构造_抽象类为什么可以有构造函数?- Constructor of an abstract class in C#(转载)...
  5. 字符串第一个出现的单个字符_如何在不编写单个应用程序的情况下找到我的第一个开发人员工作
  6. Java的 published_Umbraco当没有当前的PublishedContentRequest时,无法呈现宏
  7. blender使用_用Blender教青少年3D动画
  8. ubuntu eclipse mysql_ubuntu下eclipse连接mysql
  9. 超生动图解LSTM和GPU:拯救循环神经网络的记忆障碍就靠它们了!
  10. GLPI+OCS、SmartIT、LANDesk比较
  11. Cisco 路由器ntp服务配置
  12. 桌面图标无故变成白色
  13. 新版抖音二维码生成工具源码+实测可用
  14. 计算机高手如何操作键盘,从小白到高手 游戏键盘驱动全面解析
  15. mysql 库存超卖_高并发下防止库存超卖的解决方案
  16. 介绍一个开源博客项目并部署到Nginx服务器
  17. MOOS-ivp 实验一 在linux系统中安装moos-ivp遇到的各种问题汇总
  18. 新的Novidade漏洞利用工具包目标瞄准家用和SOHO路由器
  19. 弱网测试之NEWT(Network Emulator Toolkit)
  20. 计算机efs恢复工具,重装系统后如何恢复对EFS加密文件的访问

热门文章

  1. 可能是最简单易懂的人工智能入门书
  2. 机器学习入门的百科全书-2018年“机器学习初学者”公众号文章汇总
  3. 召回:是塔,是塔,但不是双塔!
  4. LightGBM笔记
  5. LeetCode_108.将有序数组转换为二叉搜索树
  6. CVTE(WEB后台开发)
  7. 16. 最接近的三数之和
  8. 关于MySQL查询优化 の 30条忠告
  9. 【IBatis.Net】 各种配置说明
  10. Windows phone 8 学习笔记