¿Cuál es una manera simple de resolver la ruta a un archivo JSP que no se encuentra en el directorio raíz JSP de una aplicación web usando SpringMVCs viewResolvers? Por ejemplo, supongamos que tenemos la siguiente estructura de aplicaciones web:Spring MVC: Cómo resolver la ruta a los subdirectorios de la carpeta raíz 'JSP' en una aplicación web
web-app
|-WEB-INF
|-jsp
|-secure
|-admin.jsp
|-admin2.jsp
index.jsp
login.jsp
me gustaría utilizar algunos componentes fuera de la caja para resolver los archivos JSP dentro de la carpeta raíz JSP y la seguro subdirectorio. Tengo un archivo *-servlet.xml
que define:
un out-of-the-box, InternalResourceViewResolver
:
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"></property>
<property name="prefix" value="/WEB-INF/jsp/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
una asignación de controlador:
<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index.htm">urlFilenameViewController</prop>
<prop key="/login.htm">urlFilenameViewController</prop>
<prop key="/secure/**">urlFilenameViewController</prop>
</props>
</property>
</bean>
un out-of-the-box UrlFilenameViewController
controlador:
<bean id="urlFilenameViewController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController">
</bean>
El problema que tengo es que las solicitudes al Los JSP en el directorio seguro no se pueden resolver, ya que el jspViewResolver
solo tiene un prefijo definido como /jsp/
y no /jsp/secure/
.
¿Hay alguna manera de manejar subdirectorios como este? Preferiría mantener esta estructura porque también estoy tratando de hacer uso de Spring Security y tener todas las páginas seguras en un subdirectorio es una buena manera de hacerlo.
Probablemente haya una manera simple de lograr esto, pero soy nuevo en Spring y en el framework Spring MVC, así que cualquier puntero sería apreciado.
Nota no relacionada, pero ya no es necesario que especifique 'JstlView' como' viewClass', Spring lo resolverá de manera predeterminada. – skaffman