Spring MVC ParameterizableViewController Beispiel
Um eine Ansicht oder Seite in einer Spring MVC-Anwendung zurückzugeben, müssen Sie im Allgemeinen eine Klasse erstellen, die dieAbstractController erweitert, und einModelAndView()-Objekt zurückgeben.
public class WelcomeController extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView model = new ModelAndView("WelcomePage"); return model; } }
Deklarieren Sie in der Bean-Konfigurationsdatei einControllerClassNameHandlerMapping, um die Zuordnung automatisch zu erkennen.
Glauben Sie aber nicht, dass dies zu viel Konfiguration für eine einfache Weiterleitungsaufgabe ist? Glücklicherweise enthält SpringParameterizableViewController, um die oben genannten Prozesse zu vereinfachen. MitParameterizableViewController müssen Sie den Ansichtsnamen in der Controller-Klasse nicht mehr fest codieren, sondern müssen den Ansichtsnamen über die Eigenschaft "viewName" von ParameterizableViewController deklarativ setzen.
Note
Der ParameterizableViewController ist eine Unterklasse von AbstractController und gibt ein ModelAndView zurück, das auf der Eigenschaft "viewName"it’s purely a redirect class basiert, nicht mehr und nicht weniger :)
ParameterizableViewController.java
public class ParameterizableViewController extends AbstractController{ //... protected ModelAndView handleRequestInternal( HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView(getViewName()); }
Lernprogramm
In diesem Lernprogramm wird die Verwendung des ControllersParameterizableViewControllerfür eine Seitenumleitung in der Spring MVC-Anwendung gezeigt.
1. ParameterizableViewController
Es ist keine Controller-Klasse erforderlich. Deklarieren Sie einfach die BeanParameterizableViewController und geben Sie den Ansichtsnamen über die Eigenschaft "viewName" an. Zusätzlich müssen Sie ein explizites Mapping dafür definieren.
welcomeController /WEB-INF/pages/ .jsp
Eine explizite Zuordnung ist erforderlich.
//... //...
Erwarten Sie im obigen Snippet, dass der Ansichtsname "welcome" eine "WelcomePage" zurückgibt? Leider müssen Sie keineexplicit mapping definieren, da dieControllerClassNameHandlerMapping keine Zuordnung für einen integrierten Spring MVC-Controller generieren.
2. View
Nur eine einfache JSP, um eine Überschrift anzuzeigen.
WelcomePage.jsp.jsp
ParameterizableViewController Example
3. Demo
Greifen Sie über "http://localhost:8080/SpringMVC/welcome.htm" darauf zu, "welcome.htm" gibt "/WEB-INF/pages/WelcomPage.jsp" zurück.
Quellcode herunterladen
Laden Sie es herunter -SpringMVC-ParameterizableViewController-Example.zip (7 KB)