J'ai un autre problème JSF étrange ici ... Je ne sais pas vraiment pourquoi, mais quoi que j'essaie de faire, j'ai un problème sur deux. Soit la méthode d'action dans mon popupPanel n'est pas (signifie jamais) appelée ou elle est appelée, mais la valeur de ma selectBox est (toujours) nulle. Ne peut pas comprendre, quel est le problème, mais il me semble, comme c'est un problème de propriété XHTML.Action JSF non appelée OU valeur selectbox est nulle
Déjà essayé de mettre le popupPanel en dehors de mon formulaire h: (m'a aidé à d'autres endroits ...), j'ai aussi essayé de le mettre à l'extérieur et de mettre un autre formulaire dans mon popup. Au-delà de ça j'essayais de changer la pièce jointe au parent/form et j'ai changé l'exécution du commandButton dans mon popup pour former/form-id/popuppanel-id et je suppose qu'il y avait plus de choses que j'ai faites ... mais rien n'a aidé . Le Bean est la portée de la session et j'utilise Richface 4.0 Final si c'est vraiment important.
Qu'est-ce jamais, le XHTML ressemble à ceci:
<rich:popupPanel
header="#{label['edit.title']} #{mandateAction.ccService.mandateList[mandateAction.currentIndex].id}"
id="addExternalSystem"
onmaskclick="#{rich:component('addExternalSystem')}.hide()"
domElementAttachment="form" autosized="true" layout="block">
<h:panelGrid columns="2">
<h:outputText value="#{label['login.username']}" />
<h:inputText
value="#{mandateAction.newExternalSystem.username}" />
<h:outputText value="#{label['login.password']}" />
<h:inputSecret
value="#{mandateAction.newExternalSystem.password}" />
<h:outputText value="#{label['mandate.externalSystem']}" />
<h:selectOneMenu
value="#{mandateAction.newExternalSystem.externalSystem}">
<f:selectItems
value="#{creditcardConfigurationService.externalSystems}"
itemLabel="#{system.name}" itemValue="#{system}"
var="system" />
<f:converter binding="#{externalSystemConverter}" />
</h:selectOneMenu>
....
<a4j:commandButton value="#{label['insert.save']}"
action="#{mandateAction.insertNewSystem}"
render="mandate_table" execute="@form"
oncomplete="if (#{facesContext.maximumSeverity==null}) {#{rich:component('addExternalSystem')}.hide();}" />
Donc c'est aléatoire quand l'action est appelée et quand la valeur est soumise? Est-il possible qu'il y ait des erreurs de validation ou de conversion? – user1983983
il n'y a pas d'erreurs de validation/de conversion. Et non, ce n'est pas vraiment aléatoire. Par exemple, si je mets la popup dans ma balise h: form, alors l'action est appelée, mais la valeur de selectbox est nulle. Si je le mets dehors, alors l'action n'est pas appelée, mais la valeur est correcte. et ainsi de suite – user1502353
Il s'agit très probablement d'un croisement de deux choses, dont une que vous avez identifiée: Votre panneau contextuel doit contenir (ou être contenu dans) un ' '. Le deuxième suspect est votre portée de haricot. Quelle est la portée de «mandatAction»? –
kolossus