鍍金池/ 教程/ Java/ Spring MVC表單處理
Spring MVC表單處理
Spring MVC多項(xiàng)單選按鈕
Spring MVC Bean名稱Url處理程序映射
Spring MVC下拉選項(xiàng)(Select)
Spring MVC多動(dòng)作控制器
Spring4 MVC RESTFul Web Services CRUD實(shí)例+RestTemplate
Spring MVC頁面重定向
Spring MVC資源綁定視圖解析器
Spring4 MVC+Hibernate4 Many-to-many連接表+MySQL+Maven實(shí)例
Spring4 MVC REST服務(wù)示例使用@RestController
Spring MVC文本域
Spring4 MVC + AngularJS使用$http異步服務(wù)交互
Spring4 MVC文件下載實(shí)例
Spring4 MVC表單驗(yàn)證
Spring4 MVC RESTFul WebServices CRUD實(shí)例+RestTemplate
Spring MVC教程
Spring MVC參數(shù)方法名稱解析器
Spring MVC生成JSON數(shù)據(jù)
Spring MVC生成XML
Spring4 MVC 表單驗(yàn)證和資源處理 (使用注解)
Spring MVC單選按鈕
Spring MVC Xml視圖解析器
Spring MVC復(fù)選框
Spring4 MVC ContentNegotiatingViewResolver多種輸出格式實(shí)例
Spring MVC錯(cuò)誤處理
Spring MVC復(fù)選框(多項(xiàng))
Spring MVC Hibernate驗(yàn)證器
Spring4 MVC Hello World注解 (Java Config)實(shí)例
Spring MVC靜態(tài)頁面
Spring4 MVC ContentNegotiatingViewResolver實(shí)例
Spring MVC列表多選框
Spring MVC生成Excel格式數(shù)據(jù)
Spring MVC文本框
Spring MVC內(nèi)部資源視圖解析器
Spring4 MVC HelloWorld 注解和JavaConfig實(shí)例
Spring4 MVC REST服務(wù)使用@RestController實(shí)例
Spring MVC簡(jiǎn)單URL處理程序映射
Spring MVC4使用Servlet3 MultiPartConfigElement文件上傳實(shí)例
Spring MVC概述
Spring4 MVC使用Servlet 3 MultiPartConfigElement文件上傳實(shí)例
Spring4 MVC Hello WorldXML實(shí)例
Spring MVC屬性方法名稱解析器
Spring4 MVC + Hibernate4 + MySQL + Maven使用注解集成實(shí)例
Spring4 MVC + Hibernate4多對(duì)多連接表+MySQL+Maven實(shí)例
Spring4 MVC+Hibernate4+MySQL+Maven使用注解集成實(shí)例
Spring MVC配置靜態(tài)資源和資源包教程
Spring MVC可參數(shù)化的視圖控制器
Spring MVC生成RSS源
Spring4 MVC文件下載實(shí)例
Spring MVC密碼處理
Spring MVC隱藏字段域
Spring MVC文件上傳教程
Spring MVC多解析器映射
Spring MVC文件上傳處理
Spring4 MVC HelloWord實(shí)例
Spring MVC集成Log4j
Spring4 MVC+ AngularJS CRUD使用$http實(shí)例
Spring MVC - Hello World示例

Spring MVC表單處理

以下示例演示如何編寫一個(gè)簡(jiǎn)單的基于Web的應(yīng)用程序,它使用Spring Web MVC框架使用HTML表單。 首先使用Eclipse IDE,并按照以下步驟使用Spring Web Framework開發(fā)基于動(dòng)態(tài)表單的Web應(yīng)用程序:

  1. 基于上一小節(jié)中的Spring MVC - Hello World實(shí)例章節(jié)所創(chuàng)建的 HelloWeb來創(chuàng)建一個(gè)新的工程為:FormHandling,并創(chuàng)建一個(gè)包名稱為 com.yiibai.springmvc。
  2. com.yiibai.springmvc包下創(chuàng)建兩個(gè)Java類StudentStudentController。
  3. jsp子文件夾下創(chuàng)建兩個(gè)視圖文件student.jsp,result.jsp。
  4. 最后一步是創(chuàng)建所有源和配置文件的內(nèi)容并運(yùn)行應(yīng)用程序,如下所述。

完整的項(xiàng)目文件結(jié)構(gòu)如下所示 -

Student.java文件中的代碼內(nèi)容 -

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;
   }
}

StudentController.java 文件中的代碼內(nèi)容 -

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";
   }
}

這里的第一個(gè)服務(wù)方法student(),我們已經(jīng)在ModelAndView對(duì)象中傳遞了一個(gè)名為“command”的空對(duì)象,因?yàn)槿绻贘SP中使用<form:form>標(biāo)簽,spring框架需要一個(gè)名為“command”的對(duì)象文件。 所以當(dāng)調(diào)用student()方法時(shí),它返回student.jsp視圖。

第二個(gè)服務(wù)方法addStudent()將在 URLHelloWeb/addStudent上的POST方法提交時(shí)調(diào)用。將根據(jù)提交的信息準(zhǔn)備模型對(duì)象。最后,將從服務(wù)方法返回“result”視圖,這將最終渲染result.jsp視圖。

student.jsp文件的內(nèi)容如下所示 -

<%@ 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">編號(hào):</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>

result.jsp文件的內(nèi)容如下 -

<%@ 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>提交的學(xué)生信息如下 - </h2>
   <table>
    <tr>
        <td>名稱:</td>
        <td>${name}</td>
    </tr>
    <tr>
        <td>年齡:</td>
        <td>${age}</td>
    </tr>
    <tr>
        <td>編號(hào):</td>
        <td>${id}</td>
    </tr>
</table>  
</body>
</html>

完成創(chuàng)建源和配置文件后,導(dǎo)出應(yīng)用程序。 右鍵單擊應(yīng)用程序,并使用導(dǎo)出> WAR文件選項(xiàng),并將 FormHandling.war 文件保存在Tomcat的webapps文件夾中。或者直接右鍵選擇“Run As -> Run On Server”。

啟動(dòng)Tomcat服務(wù)器,并確保您能夠使用標(biāo)準(zhǔn)瀏覽器從webapps文件夾訪問其他網(wǎng)頁?,F(xiàn)在嘗試URL => http://localhost:8080/FormHandling/student ,如果Spring Web應(yīng)用程序沒有問題,那么應(yīng)該看到以下結(jié)果:

提交所需信息后,點(diǎn)擊提交按鈕提交表單。 如果Spring Web應(yīng)用程序沒有問題,應(yīng)該看到以下結(jié)果: