Question

J'ai une page avec une sélection de radio avec 3 options et un inputTextArea. Lorsque j'appuie sur le bouton d'envoi sur ma page, alors que je dois faire quelques ... Pour les validations de le faire, je mets un validateur à la radio. Le problème est que lorsque le validateur est exécuté, j'ai besoin des valeurs du inputTextArea et de la radio, mais ils viennent avec les anciennes valeurs, et non pas ceux qui ont été définis sur la page avant que la page a été submited.

Exemple:. String.valueOf (textArea.getValue ()) égal à égal ( "")) lors de sa première sumited le String.valueOf de code (textAreaOcorrencia.getValue ()) est nulle, mais comme il était le textArea était vide suposed être une chaîne vide. Quand il est submited pour la deuxième fois, il a la valeur de ce qu'il était censé avoir dans la 1ère soumission. Je sais que cela a quelque chose à voir avec le cicle de vie JSF, mais je ne sais pas comment mettre à jour ces valeurs?

Merci d'avance ...

Était-ce utile?

La solution

Au cours de la phase de valeurs de demande appliquer, les valeurs soumises seront fixées et disponibles en submittedValue. Pendant la phase de validation, les valeurs soumises seront validés et convertis et définis comme value. Les composants sont validés dans l'ordre de haut en bas que les composants apparaissent dans l'arborescence des composants.

Ainsi, si le composant en question apparaît en fait après la composante de courant dans l'arborescence des composants, vous aurez besoin pour obtenir sa valeur par UIInput#getSubmittedValue() au lieu de UIInput#getValue() .

Pour en savoir plus sur le cycle de vie JSF, vous pouvez trouver cette auto article -Pratique utile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top