Spring MVC - Ejemplo de controlador de vista parametrizable

El siguiente ejemplo muestra cómo usar el método de controlador de vista parametrizable de un controlador de acción múltiple usando el marco Spring Web MVC. La Vista parametrizable permite mapear una página web con una solicitud.

package com.tutorialspoint;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{
	
   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   } 
}

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
   <property name="mappings">
      <value>
         index.htm=userController
      </value>
   </property>
</bean>
<bean id="userController" class="org.springframework.web.servlet.mvc.ParameterizableViewController">
   <property name="viewName" value="user"/>
</bean>

Por ejemplo, usando la configuración anterior, si URI.

  • /index.htm, DispatcherServlet reenviará la solicitud al UserController controlador con viewName establecido como user.jsp.

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.

Paso Descripción
1 Cree un proyecto con un nombre TestWeb en un paquete com.tutorialspoint como se explica en el capítulo Spring MVC - Hello World.
2 Cree un UserController de clase Java en el paquete com.tutorialspoint.
3 Cree un archivo de vista user.jsp en la subcarpeta jsp.
4 El paso final es crear el contenido de los archivos fuente y de configuración y exportar la aplicación como se explica a continuación.

UserController.java

package com.tutorialspoint;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;

public class UserController extends MultiActionController{
	
   public ModelAndView home(HttpServletRequest request,
      HttpServletResponse response) throws Exception {
      ModelAndView model = new ModelAndView("user");
      model.addObject("message", "Home");
      return model;
   }
}

TestWeb-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">

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

   <bean class = "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
      <property name = "mappings">
         <value>
            index.htm = userController
         </value>
      </property>
   </bean>
   <bean id = "userController" class = "org.springframework.web.servlet.mvc.ParameterizableViewController">
      <property name = "viewName" value="user"/>
   </bean>
</beans>

user.jsp

<%@ page contentType="text/html; charset=UTF-8" %>
<html>
   <head>
      <title>Hello World</title>
   </head>
   <body>
      <h2>Hello World</h2>  
   </body>
</html>

Una vez que haya terminado de crear archivos fuente y de configuración, exporte su aplicación. Haga clic derecho en su aplicación, useExport → WAR File opción y guarde la TestWeb.war archivo 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 con una URL:http://localhost:8080/TestWeb/index.htm y verá la siguiente pantalla, si todo está bien con la aplicación web Spring.