6 votes

JSF : lorsque l'on désactive un composant, sa valeur n'entre pas dans le paramètre de la carte de requête. Existe-t-il une solution de contournement ?

J'ai une liste déroulante p:selectonemenu et une case à cocher p:selectbooleancheckbox lorsque je sélectionne la case à cocher, je veux définir le paramètre selectonemenu à une valeur spécifique. Et je ne veux pas que l'utilisateur puisse la changer, donc j'ai mis selectonemenu disabled de l'attribut true . Cependant, lorsqu'il est désactivé, sa valeur n'apparaît pas dans la carte des paramètres de la requête, lorsque je fais le calcul suivant facescontext.getcurrentinstance().getexternalcontext().getrequestparametermap() et j'ai besoin de sa valeur pour cette carte. Existe-t-il un moyen de contourner ce problème ?

J'écris un font-end pour un ancien système de Servlet, où ils utilisent les paramètres de la carte de requête pour obtenir la valeur de l'attribut du formulaire.

8voto

maple_shaft Points 7616

Comme Adrian Mitev l'a souligné dans un commentaire, la désactivation de la fonction selectBooleanCheckbox signifie qu'il n'affichera pas sa valeur lors de l'envoi d'un formulaire.

Ce que vous pouvez faire cependant est d'avoir un champ d'entrée caché où vous pouvez définir la valeur à la même propriété du managed bean que la case à cocher.

<h:inputHidden id="checkDisabled" value="#{managedBean.someValue}" />

En utilisant un javascript, vous pouvez définir la valeur de cette entrée cachée lorsque la case à cocher est désactivée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X