requestmapping pasar mvc modelo modelandview formulario español entre ejemplo datos controladores spring jsp spring-mvc tiles

pasar - spring mvc



Redireccionar de un método de controlador a otro método de controlador (2)

Estoy usando Spring 3 y Tiles 2 en mi aplicación y tengo un poco de problemas con la redirección. Preferiblemente, me gustaría poder simplemente llamar o redirigir desde un método de Controller1 al método de Controller2, pero hasta ahora no he tenido éxito.

He intentado crear una nueva entrada en el archivo pageviews.properties. De esa manera, simplemente podría devolver este nombre desde Controller1 y buscaría el nombre de mis mosaicos de los archivos xml.

createRejectionEmail.(parent)=tilesView createRejectionEmail.url=createRejectionEmail.page redirectRejectionEmail.(class)=org.springframework.web.servlet.view.RedirectView rediectRejectionEmail.contextRelative=true redirectRejectionEmail.url=createRejectionEmail.page

Pero cuando intento devolver como se muestra a continuación, mi URL contiene createRejectionEmail como parte de la URL, en lugar de usar eso para buscar en las definiciones de los mosaicos. mav.setViewName ("redirectRejectionEmail"); volver 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>

Mi configuración actual está abajo.

<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>

Cualquier ayuda y orientación sería muy apreciada!


Desde su controlador, puede cambiar el tipo de retorno para que sea un ModelAndView y el código de retorno a continuación. Esto volverá a dirigir la solicitud y llamará al controlador para la nueva URL.

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

Alternativamente, puede tomar el HttpServletResponse en su método de controlador y devolver una redirección.

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


@RequestMapping(value = "/timeout", method = RequestMethod.GET) public ModelAndView loginForm(HttpServletRequest request,HttpServletResponse response) { return new ModelAndView("redirect:/app/timeout"); }

Cuando este controlador de método llama, entonces redirige al controlador / app / timeout.