nullpointerexception - <p:ajax> avec @ViewScoped
Salut tout le monde,
je fais face à un problème que je n'arrive pas à résoudre. Le voici :
J'affiche, en fonction d'un selectOneRadio différents inputext permettant de renseigner un critère spécifique :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <h:form id="form_principal">
<p:selectOneRadio id="options" value="#{rechercheBean.choix}">
<f:selectItem itemLabel="Critere 1" itemValue="c1" />
<f:selectItem itemLabel="Critere 2" itemValue="c2" />
<p:ajax update=":form_principal:critere" />
</p:selectOneRadio>
<h:panelGrid columns="1" id="critere">
<c:choose>
<c:when test="#{monBean.choix eq 'c1'}">
<h:outputText value="Critere 1 :" />
<p:inputText id="cr1" value="#{rechercheBean.critere1}" />
</c:when>
<c:when test="#{monBean.choix eq 'c2'}">
<h:outputText value="Critere 2 :" />
<p:inputText id="cr2" value="#{rechercheBean.critere2}" />
</c:when>
</c:choose>
</h:panelGrid>
<h:commandButton value="Ajouter critere" actionListener="#{monBean.ajouter}"/>
</h:form> |
Coté ManagedBean, dans ma méthode "ajouter", je vais effectuer un traitement spécifique suivant le critère choisit.
Ce que j'ai mis en place marche parfaitement lorsque mon managedBean est en @SessionScope.
Je voudrais le passer en @ViewScoped mais lorsque je clique sur le bouton pour ajouter le critère, le critère est null lors du passage dans la méthode "Ajouter".
Après différents tests, c'est le composant <p:ajax> qui pose problème car sans celui-ci, je retrouve bien mon critère coté managedBean. Cependant, j'ai besoin de ce composant pour pouvoir "switcher" entre mes inputexts.
Comment puis-je faire pour régler ce problème ? Je tourne en rond depuis un bon moment :?
merci par avance