我的应用程序中使用了Spring 3和Tiles 2,在重定向方面遇到了一些麻烦。最好的情况是,我希望能够从Controller1方法直接调用或重定向到Controller2方法,但到目前为止没有成功。
我尝试在pageviews.properties文件中创建一个新条目。这样,我可以从Controller1返回这个名称,并且它将从xml文件中查找我的tiles def名称。
createRejectionEmail.(parent)=tilesView
createRejectionEmail.url=createRejectionEmail.page
redirectRejectionEmail.(class)=org.springframework.web.servlet.view.RedirectView
rediectRejectionEmail.contextRelative=true
redirectRejectionEmail.url=createRejectionEmail.page
但是,当我像下面展示的那样尝试返回时,我的URL包含了"createRejectionEmail"作为URL的一部分 - 而不是使用它来在tile定义中进行查找。 mav.setViewName("redirectRejectionEmail"); return mav;
<definition name="createRejectionEmail.page" extends="brandedLayout">
<put-attribute name="targetFunction" value="status" />
<put-attribute name="content" value="/WEB INF/jsp/pages/status/createRejectionEmail.jsp" />
</definition>
我目前的配置如下。
<bean id="resourceViewResolver"
class="org.springframework.web.servlet.view.ResourceBundleViewResolver"
p:order="0" p:basename="config.spring.viewresolution.pageviews"/>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/jsp/**/views.xml</value>
</list>
</property>
</bean>
非常感激任何帮助和指导!