我已经设置了一个roo应用程序。roo内置的默认视图解析器是针对jspx文件的。还有可能支持jsp文件吗?我尝试配置两个viewResolvers,但似乎没有一个urlBasedViewResolvers可以共存。
更改顺序不会影响行为。如果我将order =1设置为jspx,那么如果我搜索任何.jsp文件,它会给出404。如果我搜索jspx,但jsp viewResolver设置为order =1,情况也是如此。
有没有办法做到这一点?谢谢!
这是我的webmvc-config.xml
<bean id="viewResolver"
class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="order" value="1"/>
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jspx" />
</bean>
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="order" value="2"/>
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
</bean>发布于 2012-07-23 06:12:46
我能想到的一个解决方案可能不是很好,那就是不提供后缀,在返回视图名称时显式指定.jsp或.jspx后缀。
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="order" value="2"/>
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value="" />
</bean>返回视图名称时:
return "myview.jsp";
return "myview.jspx";或
如果您知道jsp和jspx视图名称的名称模式,另一种解决方案是将视图名称作为另一个参数提供给其中一个解析器:
<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="order" value="2"/>
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value="jsp" />
<property name="viewNames">
<list>
<value>view1*</view>
<value>view2*</view>
<value>view3*</view>
</list>
</property>
</bean>如果这个视图解析器返回null,如果它与任何视图模式都不匹配,那么它将转到jspx视图解析器。
https://stackoverflow.com/questions/11603707
复制相似问题