Spring MVC RedirectView example
来源:互联网 发布:手机遥控器软件安卓版 编辑:程序博客网 时间:2024/05/07 01:24
In Spring MVC, org.springframework.web.servlet.view.RedirectView
, as name indicated, a view redirect to another absolute, context relative, or current request relative URL. In this tutorial, we show you a complete example to use RedirectView
class.
1. RedirectView
Declare a RedirectView
bean, named “DummyRedirect
“, redirect to URL “DummyRedirectPage.htm
“.
File : spring-views.xml
<beans ...> <!-- Redirect view --> <bean id="DummyRedirect" class="org.springframework.web.servlet.view.RedirectView"> <property name="url" value="DummyRedirectPage.htm" /> </bean></beans>
2. Controller
A controller to return a ModelAndView
named “DummyRedirect
“, which is a RedirectView
view.
File : DummyController.java
package com.mkyong.common.controller;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.AbstractController;public class DummyController extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("DummyRedirect"); } }
3. Spring configuration
Declared all mappings.
File : mvc-dispatcher-servlet.xml
<beans ...> <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" /> <bean class="com.mkyong.common.controller.DummyController" /> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/DummyRedirectPage.htm">dummyRedirectController</prop> </props> </property> </bean> <bean id="dummyRedirectController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="DummyPage" /> </bean> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" > <property name="prefix"> <value>/WEB-INF/pages/</value> </property> <property name="suffix"> <value>.jsp</value> </property> <property name="order" value="1" /> </bean> <bean class="org.springframework.web.servlet.view.XmlViewResolver"> <property name="location"> <value>/WEB-INF/spring-views.xml</value> </property> <property name="order" value="0" /> </bean></beans>
4. How it works?
Access the URL http://localhost:8080/SpringMVC/dummy.htm.
“
ControllerClassNameHandlerMapping
” matched “DummyController
” and return aModelAndView(“DummyRedirect”)
.“
XmlViewResolver
” matched it and return an URL “DummyRedirectPage.htm
“.
<bean id="DummyRedirect" class="org.springframework.web.servlet.view.RedirectView"> <property name="url" value="DummyRedirectPage.htm" /> </bean>
- “
SimpleUrlHandlerMapping
” matched it and return a controller “dummyRedirectController
“.
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/DummyRedirectPage.htm">dummyRedirectController</prop> </props> </property> </bean>
- The
ParameterizableViewController
controller, “dummyRedirectController
“, return a view named “DummyPage
“.
<bean id="dummyRedirectController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="DummyPage" /> </bean>
InternalResourceViewResolver
matche it and return the final jsp page, “/WEB-INF/pages/DummyPage.jsp
“.
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" > <property name="prefix"> <value>/WEB-INF/pages/</value> </property> <property name="suffix"> <value>.jsp</value> </property> <property name="order" value="1" /> </bean>
- URL changed to “http://localhost:8080/SpringMVC/DummyRedirectPage.htm“.
Redirect Prefix
Alternative, if you haveInternalResourceViewResolver
configured, you can use the “Redirect Prefix” in the view name to resolve the redirect view. For example,
File : DummyController.java
//...public class DummyController extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("redirect:DummyRedirectPage.htm"); } }
Use case
One of the use case is applying the “RedirectView” concept to solve the duplicated form submission in Spring MVC.
- Spring MVC RedirectView example
- Spring MVC RedirectView example
- Spring MVC - DispatcherServlet Example
- Spring MVC Model Example
- Spring MVC MultiActionController example
- Spring MVC PropertiesMethodNameResolver example
- Spring MVC ParameterMethodNameResolver example
- Spring MVC ParameterMethodNameResolver example
- Spring MVC ParameterizableViewController example
- Spring MVC InternalResourceViewResolver example
- Spring MVC XmlViewResolver example
- Spring MVC ResourceBundleViewResolver example
- Spring MVC BeanNameUrlHandlerMapping example
- Spring MVC ControllerClassNameHandlerMapping example
- Spring MVC SimpleUrlHandlerMapping example
- Spring MVC textbox example
- Spring MVC BeanNameUrlHandlerMapping example
- Spring MVC ControllerClassNameHandlerMapping example
- 数据库练习4
- Interview Check If n Is A Perfect Square
- 胡思 胡写(非技术文章)
- 固定布局的几种方式
- Handling duplicate form submission in Spring MVC
- Spring MVC RedirectView example
- Developing SOAP Web service using Apache CXF
- 【Linux探索之旅】第三部分第二课:流、管道、重定向,三管齐下
- 关于removeFromSuperview关键的几个点
- 分享一个Linux下安装ASM+ORACLE的自动化脚本(四)
- [LeetCode] Number of 1 Bits & Reverse Integer - 整数问题系列
- java压缩/解压war包
- Maximum Gap
- 统一WIFI下,手机能上网,电脑能连WIFI但不能上网 解决办法