Obtenir la valeur sélectionnée de selectOneChoice dans l'ADF et de ne pas l'index
Je suis nouveau sur JDeveloper et de l'ADF et je suis confronté à un petit problème dans l'obtention de la valeur sélectionnée de selectOneChoice composant. C'est le valuChangeListener:
public void versionValueChangeListener(ValueChangeEvent valueChangeEvent) {
System.out.println(valueChangeEvent.getOldValue().toString());
System.out.println(valueChangeEvent.getNewValue().toString());
}
C'est en donnant l'indice de la sélection de choix et non le texte lui-même. Comment puis-je obtenir le texte et pas sur l'index?
C'est le code pour le selectOneChoice:
<af:selectOneChoice value="#{bindings.Version.inputValue}"
label="#{bindings.Version.label}"
required="#{bindings.Version.hints.mandatory}"
shortDesc="#{bindings.Version.hints.tooltip}"
id="soc3" autoSubmit="true"
valueChangeListener="#{savesBean.versionValueChangeListener}">
<f:selectItems value="#{bindings.Version.items}" id="si3"/>
</af:selectOneChoice>
Merci 🙂
Vous devez vous connecter pour publier un commentaire.
C'est la façon dont les gars à Orcle faire
Comment obtenir le collimateur sélectionné:selectOneChoice Étiquette mais, à mon avis, il peut être fait dans l'autre sens...
Je pense qu'il vaut mieux construire un
map
dans lequel l'indice sera la clé et la valeur de l'étiquetteque dans versionValueChangeListener vous aurez accès à la carte à quelque chose comme ceci :
myMap.get(valueChangeEvent.getNewValue().toString());
Ce n'est pas FAD spécifiques. C'est HTML spécifique. Seule la valeur HTML
<input type="radio">
élément est envoyé, non pas la valeur du code HTML de<label>
élément de renvoi. Cela est vrai pour tous les autres HTML<input>
,<select>
et<textarea>
élément.La soltion à votre "problème" est simple: vous avez déjà toutes les étiquettes dans le backing bean dans la collection derrière
#{bindings.Version.items}
. Juste obtenir le label partir de là, basé sur la valeur sélectionnée.Sinon, l'ensemble de l'objet complexe (contenant à la fois de la valeur et de l'étiquette) plutôt que sa valeur en tant que valeur de l'article. Vous avez seulement besoin d'un
Converter
pour convertir entre l'objet complexe et string.Il est une propriété de la sélection d'un choix de l'élément sur la page jsp/jsf page qui vous permet de passer la réelle valeur de l'objet ou de passer la valeur de l'index à partir de la liste. Cliquez sur le bouton sélectionner un choix de l'élément dans la page jsp/jsf page, puis cliquez sur l'onglet liaisons en bas, allez à la page de définition (vous le verrez en haut de l'liaisons de page) et de sélectionner un choix de l'élément sera mis en évidence dans la page fichier de définition qui est maintenant ouverte. Si vous regardez l'inspecteur des propriétés à partir d'ici - là est une propriété appelée "SelectItemValueMode" par défaut, il est réglé à la propriété ListIndex valeur, vous pouvez le modifier à la ListObject à partir d'ici. C'est la dernière propriété répertoriées pour le sélectionner une liste de choix d'objet dans la fenêtre de propriétés de la page du fichier de définition.
Cela a fonctionné pour moi
Vous pouvez trouver la solution pour cela sur l'URL suivante: https://blogs.oracle.com/adf/entry/getting_selected_value_from_selectonechoice