Exemple de gestion de formulaire Spring MVC

L'exemple suivant montre comment écrire une application Web simple, qui utilise des formulaires HTML à l'aide du framework Spring Web MVC. Pour commencer, mettons en place un IDE Eclipse fonctionnel et suivons les étapes suivantes pour développer une application Web basée sur un formulaire dynamique à l'aide de Spring Web Framework -

Pas La description
1 Créez un projet Web dynamique avec un nom HelloWeb et créez un package com.tutorialspoint sous le dossier src dans le projet créé.
2 Faites glisser et déposez ci-dessous Spring et d'autres bibliothèques dans le dossier WebContent / WEB-INF / lib .
3 Créez une classe Java Student et StudentController sous le package com.tutorialspoint .
4 Créez les fichiers de configuration Spring Web.xml et HelloWeb-servlet.xml dans le dossier WebContent / WEB-INF .
5 Créez un sous-dossier avec un nom jsp sous le dossier WebContent / WEB-INF . Créez une vue des fichiers student.jsp et result.jsp dans ce sous-dossier.
6 La dernière étape consiste à créer le contenu de tous les fichiers source et de configuration et à exporter l'application comme expliqué ci-dessous.

Voici le contenu de Student.java fichier

package com.tutorialspoint;

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

Voici le contenu de StudentController.java fichier

package com.tutorialspoint;

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

Voici la première méthode de service student(), nous avons passé un blanc Studentobjet dans l'objet ModelAndView avec le nom "command" car le framework Spring attend un objet avec le nom "command" si vous utilisez des balises <form: form> dans votre fichier JSP. Donc quandstudent() méthode est appelée, elle retourne student.jsp vue.

La deuxième méthode de service addStudent() sera appelé contre une méthode POST sur le HelloWeb/addStudentURL. Vous préparerez votre objet modèle en fonction des informations soumises. Enfin une vue "résultat" sera renvoyée par la méthode de service, ce qui entraînera le rendu result.jsp

Voici le contenu du fichier de configuration Spring Web web.xml

<web-app id = "WebApp_ID" version = "2.4"
   xmlns = "http://java.sun.com/xml/ns/j2ee" 
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://java.sun.com/xml/ns/j2ee 
   http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 
   <display-name>Spring MVC Form Handling</display-name>
 
   <servlet>
      <servlet-name>HelloWeb</servlet-name>
      <servlet-class>
         org.springframework.web.servlet.DispatcherServlet
      </servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>

   <servlet-mapping>
      <servlet-name>HelloWeb</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
 
</web-app>

Voici le contenu d'un autre fichier de configuration Spring Web HelloWeb-servlet.xml

<beans xmlns = "http://www.springframework.org/schema/beans"
   xmlns:context = "http://www.springframework.org/schema/context"
   xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation = "http://www.springframework.org/schema/beans     
   http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
   http://www.springframework.org/schema/context 
   http://www.springframework.org/schema/context/spring-context-3.0.xsd">

   <context:component-scan base-package = "com.tutorialspoint" />

   <bean class = "org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name = "prefix" value = "/WEB-INF/jsp/" />
      <property name = "suffix" value = ".jsp" />
   </bean>
 
</beans>

Voici le contenu du fichier de vue Spring student.jsp

<%@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 = "/HelloWeb/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>

Voici le contenu du fichier de vue Spring result.jsp

<%@page contentType = "text/html;charset = UTF-8" language = "java" %>
<%@page isELIgnored = "false" %>
<%@taglib uri = "http://www.springframework.org/tags/form" prefix = "form"%>
<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>

Enfin, voici la liste des bibliothèques Spring et autres à inclure dans votre application Web. Il vous suffit de faire glisser ces fichiers et de les déposerWebContent/WEB-INF/lib dossier.

  • commons-logging-x.y.z.jar
  • org.springframework.asm-x.y.z.jar
  • org.springframework.beans-x.y.z.jar
  • org.springframework.context-x.y.z.jar
  • org.springframework.core-x.y.z.jar
  • org.springframework.expression-x.y.z.jar
  • org.springframework.web.servlet-x.y.z.jar
  • org.springframework.web-x.y.z.jar
  • spring-web.jar

Une fois que vous avez terminé la création des fichiers source et de configuration, exportez votre application. Faites un clic droit sur votre application et utilisez leExport > WAR File option et enregistrez votre SpringWeb.warfichier dans le dossier webapps de Tomcat .

Démarrez maintenant votre serveur Tomcat et assurez-vous que vous pouvez accéder à d'autres pages Web à partir du dossier Webapps à l'aide d'un navigateur standard. Maintenant, essayez une URLhttp://localhost:8080/SpringWeb/student et vous devriez voir le résultat suivant si tout va bien avec votre application Web Spring.

Après avoir soumis les informations requises, cliquez sur le bouton Soumettre pour soumettre le formulaire. Vous devriez voir le résultat suivant si tout va bien avec votre application Web Spring.