Spring-MVC: le plus simple exemple de la forme de traitement, de liaison et de validation
J'ai un formulaire:
<form action="/processform">
<input name="firstname" value="john" />
<input name="lastname" value="doe" />
</form>
J'ai une Personne de l'objet:
public class Person {
private String firstname;
private String lastname;
//... getters & setters ...
}
Je veux recevoir ces données, effectuer une validation sur elle, et de la poster sur un magasin de données.
Comment puis-je écrire un contrôleur pour faire cela? Je comprends que j'ai pu passer les paramètres en tant que paramètres de requête, mais je pense que la "bonne" façon de le faire est en quelque sorte lier les données à partir de la forme de l'objet Personne et de recevoir ensuite que la Personne objet dans le contrôleur et l'appel de Valider un objet qui est configuré pour recevoir l'objet de Personne.
Après beaucoup de lecture, cette étape a confondu moi. Quelqu'un peut-il me montrer ce qui est nécessaire pour "lier" les données, "valider" (par exemple, un programme de validation), et de "transformer" les données (par exemple, le contrôleur, et en particulier de ce qui est transmis comme paramètres)?
OriginalL'auteur David Parks | 2010-11-06
Vous devez vous connecter pour publier un commentaire.
Ici, c'est la réponse que je cherchais, je ne comprenais pas que le Printemps, par défaut, de prendre tous les paramètres de la soumission du formulaire (tels que "prénom" et "nom") et permet de créer l'objet pour vous en appelant les méthodes de définition de ces paramètres.
Le contrôleur:
Le printemps est en fait la suite de la magie avant d'appeler
handleForm
pour cette demande (de toute évidence, plus extensible façon que je dépeins dans cet exemple simple):Pour la validation, vous pouvez soit créer votre propre programme de validation (dont je ne mentionne rien à ce sujet ici), ou si vous incluez Hibernate Validator dans le classpath, alors vous pouvez annoter le
Person
classe (exemple ci-dessous) et quand vous ajoutez le@Valid
annotation comme je l'ai représenté dans l'exemple ci-dessus le Hibernate validator permettra de valider les classe en fonction de ces annotations et après toutes les erreurs de l'erreur de l'objet (unBindingResult
objet est une extension de Ressorts"Errors
, et pour de simples exemples, leErrors
objet est intéressant de composant).JSR-303 validation annoté de la classe Personne (pour une utilisation avec le @Valide option):
OriginalL'auteur David Parks
Printemps a un tutoriel complet montrant tous les aspects que vous avez besoin. Il est appelé "Petclinic". Vous pouvez le vérifier à partir de:
OriginalL'auteur Bozho