-
Customisation de champs
Bonjour,
Dans un modèle MVC de Spring, quand on utilise un "commandClass", qui permet au ModelAndView d'initialiser les champs d'un formulaire comme suit :
Code:
<form:input path="nom"/>
Si votre champ est un entier (int, Integer), par défaut le formulaire sera donc rempli avec 0.
Comment faire en sorte qu'il n'y ait aucun valeur dans le champ ?
Merci
-
La méthode "arrache" c'est de passer par une variable intermédiaire de type String . Et dans les accesseurs tu fais les transformations String <-> int
-
Tu n'es pas obligé de parser en string ton accesseur et je pense même que c'est une mauvaise manipulation.
En fait spring commence toujours par lire la méthode toString d'un objet pour voir s'il possède une conversion possible en texte. Cette transformation peux se faire grâce à l'initialisation du Binder pour cela il faudra d'abord créer une extension de la classe PropertyEditor...mais bon ça dépend ce que fais ta classe donc la seule solution c'est de faire des testes dans ton toString. En fait à chaque fois que tu as une classe qui n'est pas du type String, dans ta méthode toString tu testes si ta classe de l'attribut est nulle tu mets du blanc ("") à la place sinon tu affiches l'affiche dans le cas d'un int tu testes la classe principale si c'est une nouvelle instance tu mets du blanc à la place du int... Et le tour est joué.
J'espère que ca va t'aider.
-