2017-10-18 7 views
2

Comme le titre l'indique déjà, quels types de cible puis-je utiliser sur l'annotation @ModelAttribute de Spring MVC lors de l'application à un argument de méthode?Quels types de cible sont acceptables pour l'annotation @ModelAttribute de Spring?

Je sais à propos de la syntaxe suivante (que je me suis fréquemment utilisé):

public void finishForm(@ModelAttribute UserInfo info) { 
     ....... 
     return model; 
} 

Cela ferait partie d'un contrôleur de support de forme où ressort Databinding fait tout l'analyse syntaxique et Remplit ensuite mon objet personnalisé (UserInfo).

Mais dans mon cas actuel, il serait plus pratique de remplir un objet Java Properties ou un Map<String, String> avec l'entrée de formulaire.

Serait-ce un cas d'utilisation valide et pouvez-vous fournir une référence avec tous les types de cible pour @ModelAttribute?

Répondre

1

Si vous souhaitez obtenir toutes vos entrées de formulaire dans une carte, vous pouvez utiliser les éléments suivants:

public void finishForm(HttpServletRequest request) { 

     Map<String, String[]> userInfo = request.getParameterMap(); 

     userInfo.keySet().forEach(s -> { 
      System.out.println(s + " = "+Arrays.toString(userInfo.get(s))); 
     });   
    }