Tengo una aplicación Spring 2.5 que contiene un banner Flash. No tengo la fuente para el componente Flash pero tiene enlaces codificados en ciertas páginas que terminan en .html
Quiero poder redirigir esas páginas .html a páginas jsp existentes. ¿Cómo puedo hacer que Spring resuelva unas pocas páginas .html en páginas .jsp?Spring - Reescribe una URL a otra
Mi proyecto se parece a:
WebContent
|
-sample.jsp
-another.jsp
WEB-INF
|
-myapp-servlet.xml
-web.xml
Quiero localhost:8080/offers.html
para redirigir a localhost:8080/sample.jsp
¿Puedo hacer esto con la primavera? Ya tengo un SimpleUrlHandlerMapping y un UrlFilenameViewController definidos en el myapp-servlet.xml que debe continuar sirviendo las páginas en las que ya se encuentra.
En mi web.xml, tengo
<servlet-mapping>
<servlet-name>myapp</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
actualización
Aquí es el mapeador de URL. Si agrego un controlador, ¿cómo devuelvo la vista de jsp que está en el directorio de WebContent ya que la resolución de vista incluye el directorio/WEB-INF/jsp?
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/page1.htm">page1Controller</prop>
<prop key="/page2.htm">page2Controller</prop>
</props>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
UrlFilenameViewController sólo se resolverá un patrón de una URL a un nombre de archivo, no se puede "mapa" de la ruta de un archivo diferente. Si desea asignar /offers.html a una vista sample.jsp, necesitará un controlador que maneje el patrón /offers.html y devuelva sample.jsp como vista. ¿Puedes publicar tu SimpleUrlHandlerMapping desde myapp-servlet.xml? –
@Rob Beardow - Actualizado con SimpleUrlHandlerMapping y InternalResourceViewResolver – George