Spring MVC ParameterizableViewController example
来源:互联网 发布:最新十字绣软件 编辑:程序博客网 时间:2024/05/19 20:19
In general, to return a view or page in Spring MVC application, you need to create a class, which extends the AbstractController
, and return a ModelAndView()
object.
public class WelcomeController extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView model = new ModelAndView("WelcomePage"); return model; }}
In the bean configuration file, declared a ControllerClassNameHandlerMapping
to auto detect the mapping.
<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" /><bean class="com.mkyong.common.controller.WelcomeController" />
But, don’t you think it’s too much configuration for a simple redirect task? Fortunately, Spring comes with ParameterizableViewController
to simplify the above processes. With ParameterizableViewController
, you don’t need to hard code the view name in the controller class anymore, instead, you put view name declarative through the ParameterizableViewController
’s “viewName
” property.
Note
TheParameterizableViewController
is a subclass ofAbstractController
, and return aModelAndView
based on the “viewName
” property, it’s purely a redirect class, nothing more, nothing less :)
ParameterizableViewController.java
public class ParameterizableViewController extends AbstractController{//...protected ModelAndView handleRequestInternal( HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView(getViewName());}
Tutorial
In this tutorial, it shows the use of ParameterizableViewController
controller to do a page redirection in the Spring MVC application.
1. ParameterizableViewController
No controller class is required, just declared the ParameterizableViewController
bean and specify the view name through the “viewName
” property. Additionally, you have to define an explicit mapping for it.
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/welcome.htm">welcomeController</prop> </props> </property> </bean> <bean name="welcomeController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="WelcomePage" /> </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> </bean></beans>
Define an explicit mapping is required.
<beans ...>//...<bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" /><bean name="welcomeController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"> <property name="viewName" value="WelcomePage" /></bean>//...</beans>
In above snippet, are you expect a view name “welcome
” will return a “WelcomePage
”? Sorry, it’s not, you have to define an explicit mapping, because the ControllerClassNameHandlerMapping
won’t generate a mapping for any built-in Spring MVC controller.
2. View
Just a simple JSP to display a head line.
WelcomePage.jsp.jsp
<html><body><h2>ParameterizableViewController Example</h2></body></html>
3. Demo
Access it via “http://localhost:8080/SpringMVC/welcome.htm
“, the “welcome.htm
” will return back a “/WEB-INF/pages/WelcomPage.jsp
“.
其实就是一个只有一个方法的控制器现在不用自己写了,反正都跟ParameterizableViewController
实现的功能一样,那就直接使用ParameterizableViewController
类就行了。
- Spring MVC ParameterizableViewController example
- Spring MVC ParameterizableViewController example
- Spring MVC with ParameterizableViewController Tutorial and 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 InternalResourceViewResolver example
- Spring MVC XmlViewResolver example
- Spring MVC ResourceBundleViewResolver example
- Spring MVC BeanNameUrlHandlerMapping example
- Spring MVC ControllerClassNameHandlerMapping example
- Spring MVC SimpleUrlHandlerMapping example
- Spring MVC RedirectView example
- Spring MVC textbox example
- Spring MVC BeanNameUrlHandlerMapping example
- Spring MVC ParameterMethodNameResolver example
- BW on HANA迁移的四种途径
- mathematica的使用
- 轻轻写书软件
- 【Java并发编程实战】-----“J.U.C”:ReentrantLock之三unlock方法分析
- Spring MVC ParameterizableViewController example
- 怎么分析竞争对手网站提高自身的网站ccxtqj
- 汇编语言学习(三)
- 父进程waitpid子进程的一般实现
- 网站空间概念
- 两个清爽的白噪音网站,提高工作效率
- 猫猫学iOS 之UIDynamic重力、弹性碰撞吸附等现象
- Servlet的生命周期
- Spring MVC InternalResourceViewResolver example