使用SpringMVCs viewResolvers解析不在Web应用程序的根JSP目录中的JSP文件的路径的简单方法是什么?例如,假设我们有以下Web应用程序结构:
web-app
|-WEB-INF
|-jsp
|-secure
|-admin.jsp
|-admin2.jsp
index.jsp
login.jsp
Run Code Online (Sandbox Code Playgroud)
我想使用一些开箱即用的组件来解析jsp根文件夹和安全子目录中的JSP文件.我有一个*-servlet.xml文件定义:
一个开箱即用的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>
Run Code Online (Sandbox Code Playgroud)
处理程序映射:
<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>
Run Code Online (Sandbox Code Playgroud)
一个开箱即用的UrlFilenameViewController控制器:
<bean id="urlFilenameViewController" class="org.springframework.web.servlet.mvc.UrlFilenameViewController">
</bean>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是无法解析对安全目录中的JSP的请求,因为jspViewResolver只有前缀定义为/jsp/和不定义/jsp/secure/.
有办法处理像这样的子目录吗?我宁愿保留这种结构,因为我也试图利用Spring Security并在子目录中拥有所有安全页面是一种很好的方法.
可能有一种简单的方法来实现这一点,但我是Spring和Spring MVC框架的新手,所以任何指针都会受到赞赏.
您需要按如下方式设置该属性:
<property name="prefix" value="/WEB-INF/jsp/"/>
Run Code Online (Sandbox Code Playgroud)
然后就可以访问URI了secure/admin1.jsp
| 归档时间: |
|
| 查看次数: |
20604 次 |
| 最近记录: |