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 : Sélectionner tout - Visualiser dans une fenêtre à part
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