Exemple Spring MVC ParameterizableViewController

Exemple de Spring MVC ParameterizableViewController

En général, pour renvoyer une vue ou une page dans l'application Spring MVC, vous devez créer une classe, qui étend lesAbstractController et renvoie un objetModelAndView().

public class WelcomeController extends AbstractController{

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest request,
        HttpServletResponse response) throws Exception {

        ModelAndView model = new ModelAndView("WelcomePage");
        return model;

    }

}

Dans le fichier de configuration du bean, a déclaré unControllerClassNameHandlerMapping pour détecter automatiquement le mappage.



Mais ne pensez-vous pas que c'est trop de configuration pour une simple tâche de redirection? Heureusement, Spring est livré avecParameterizableViewController pour simplifier les processus ci-dessus. AvecParameterizableViewController, vous n’avez plus besoin de coder en dur le nom de la vue dans la classe du contrôleur, à la place, vous placez le nom de la vue déclaratif via la propriété “viewName” de ParameterizableViewController.

Note
Le ParameterizableViewController est une sous-classe de AbstractController, et renvoie un ModelAndView basé sur la propriété «viewName»,it’s purely a redirect class, rien de plus, rien de moins :)

ParameterizableViewController.java

public class ParameterizableViewController extends AbstractController{
//...
protected ModelAndView handleRequestInternal(
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {

    return new ModelAndView(getViewName());
}

Didacticiel

Dans ce didacticiel, il montre l'utilisation du contrôleurParameterizableViewController pour effectuer une redirection de page dans l'application Spring MVC.

1. ParameterizableViewController

Aucune classe de contrôleur n'est requise, il suffit de déclarer le beanParameterizableViewController et de spécifier le nom de la vue via la propriété «viewName». De plus, vous devez lui définir un mappage explicite.



    
        
            
                welcomeController
            
        
    

   
        
   

   
            
              /WEB-INF/pages/
            
            
              .jsp
            
    

Définir un mappage explicite est requis.


//...



    

//...

Dans l'extrait ci-dessus, vous attendez-vous à ce qu'un nom de vue «bienvenue» renvoie une «page de bienvenue»? Désolé, ce n'est pas le cas, vous devez définir unexplicit mapping, car lesControllerClassNameHandlerMapping ne généreront pas de mappage pour aucun contrôleur Spring MVC intégré.

2. View

Juste un simple JSP pour afficher un titre.

WelcomePage.jsp.jsp



ParameterizableViewController Example

3. Demo

Accédez-y via «http://localhost:8080/SpringMVC/welcome.htm», le «welcome.htm» renverra un «/WEB-INF/pages/WelcomPage.jsp».

SpringMVC-ParameterizableViewController-Example-1

Télécharger le code source