Ejemplo de manejo de formularios Spring MVC
El siguiente ejemplo muestra cómo escribir una aplicación sencilla basada en web, que hace uso de formularios HTML utilizando el marco Spring Web MVC. Para empezar, tengamos un IDE de Eclipse en funcionamiento y sigamos los siguientes pasos para desarrollar una aplicación web basada en formularios dinámicos utilizando Spring Web Framework:
Pasos | Descripción |
---|---|
1 | Cree un proyecto web dinámico con un nombre HelloWeb y cree un paquete com.tutorialspoint en la carpeta src en el proyecto creado. |
2 | Arrastre y suelte el Spring mencionado a continuación y otras bibliotecas en la carpeta WebContent / WEB-INF / lib . |
3 | Crear una clases de Java Estudiante y StudentController bajo la com.tutorialspoint paquete. |
4 | Cree los archivos de configuración de Spring Web.xml y HelloWeb-servlet.xml en la carpeta WebContent / WEB-INF . |
5 | Cree una subcarpeta con el nombre jsp en la carpeta WebContent / WEB-INF . Crear un archivos de vista student.jsp y result.jsp bajo esta sub-carpeta. |
6 | El paso final es crear el contenido de todos los archivos fuente y de configuración y exportar la aplicación como se explica a continuación. |
Aquí está el contenido de Student.java archivo
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;
}
}
A continuación se muestra el contenido de StudentController.java archivo
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";
}
}
Aquí el primer método de servicio student(), hemos pasado un espacio en blanco Studentobjeto en el objeto ModelAndView con el nombre "comando" porque el marco de Spring espera un objeto con el nombre "comando" si está utilizando etiquetas <formulario: formulario> en su archivo JSP. Así que cuandostudent() se llama al método, devuelve student.jsp ver.
El segundo método de servicio addStudent() se llamará contra un método POST en el HelloWeb/addStudentURL. Preparará su objeto modelo en función de la información enviada. Finalmente, se devolverá una vista de "resultado" del método de servicio, que dará como resultado la representación de result.jsp
A continuación se muestra el contenido del archivo de configuración de 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>
A continuación se muestra el contenido de otro archivo de configuración de 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>
A continuación se muestra el contenido del archivo de vista 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>
A continuación se muestra el contenido del archivo de vista 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>
Finalmente, a continuación se muestra la lista de Spring y otras bibliotecas que se incluirán en su aplicación web. Simplemente arrastre estos archivos y suéltelos enWebContent/WEB-INF/lib carpeta.
- 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
Una vez que haya terminado de crear archivos fuente y de configuración, exporte su aplicación. Haga clic derecho en su aplicación y use elExport > WAR File opción y guarda tu SpringWeb.wararchivo en la carpeta de aplicaciones web de Tomcat .
Ahora inicie su servidor Tomcat y asegúrese de que puede acceder a otras páginas web desde la carpeta de aplicaciones web utilizando un navegador estándar. Ahora prueba una URLhttp://localhost:8080/SpringWeb/student y debería ver el siguiente resultado si todo está bien con su aplicación web Spring.
Después de enviar la información requerida, haga clic en el botón Enviar para enviar el formulario. Debería ver el siguiente resultado si todo está bien con su aplicación web Spring.