从一种控制器方法重定向到另一种控制器方法

发布于 2021-02-02 11:32:08

我在应用程序中使用Spring 3和Tiles
2,并且在重定向方面遇到了一些麻烦。最好是,我希望能够仅从Controller1方法调用或重定向到Controller2方法,但是到目前为止还没有成功。

我试图在pageviews.properties文件中创建一个新条目。这样,我可以从Controller1返回此名称,它将从xml文件中查找我的tile
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
defs中进行查找。mav.setViewName(“ redirectRejectionEmail”); 返回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>

任何帮助和指导将不胜感激!

关注者
0
被浏览
116
1 个回答
  • 面试哥
    面试哥 2021-02-02
    为面试而生,有面试问题,就找面试哥。

    在您的控制器中,您可以将返回类型更改为ModelAndView并在下面返回代码。这将重定向请求并为新的URL调用控制器。

    return new ModelAndView("redirect:/myURL");
    

    另外,您可以在控制器方法中加入HttpServletResponse并返回重定向。

    public void myController(HttpServletResponse response){
    response.sendRedirect("/myURL");
    }
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看