Problema Render usando JSF + Primefaces

2 respostas
R

Li o artigo do Rafael P : http://www.rponte.com.br/2010/12/01/problema-do-rendered-dinamico-com-jsf/
sobre render, vários tópicos de usuários reclamando sobre isso aqui no GUJ
e mesmo assim não consegui resolver meu problema.
não da erro, nem nada, simplesmente não funciona.

meu código está assim:

<h:form id="aasd"  	>			
			<h:panelGrid columns="2">				
				<h:selectOneMenu value="#{baseBean.base.planoEconomico}">
					
						<f:selectItem itemValue="" itemLabel="Selecione..."/>								
						<f:selectItem itemValue="Saldo de Conta-Corrente" itemLabel="Saldo de Conta-Corrente"/>
						<f:selectItem itemValue="OUTRO" itemLabel="OUTRO"/>
							<f:ajax event="change"  render="a11"/> <!-- (já tentei colocando o id do form tb: "aasd" e não foi)-->							
					</h:selectOneMenu>	
										
				</h:panelGrid>
				
				<p:outputPanel id="a11">
					<h:outputText value="teste 1" rendered="#{baseBean.base.planoEconomico eq OUTRO}"/>
					<h:outputText value="teste 2" rendered="#{baseBean.base.planoEconomico ne OUTRO}"/>
					<h:messages/>
				</p:outputPanel>
	
		</h:form>

e mesmo assim não quer funcionar..

antes só tinha 1 outputtext embaixo.. o que costuma acontecer é:
quando entro pela primeira vez na página o campo mostrava de todo jeito.. eu selecionava um item do selectonemenu e o campo sumia.. (mesmo se fosse o campo outro) e depois não aparecia nunca mais...

o que estou fazendo de errado?

ps: meu bean ta como @SessionScoped

2 Respostas

A

aproveita que tu já está utilizando primefaces e ao invés de utilizar o facelets para ajax, utilize o próprio primefaces que tem uma estrutura mais robusta.
<p:ajax event=“change” update=“a11”/>

<h:selectOneMenu value="#{baseBean.base.planoEconomico}">  
                      
<f:selectItem itemValue="" itemLabel="Selecione..."/>                               
<f:selectItem itemValue="Saldo de Conta-Corrente" itemLabel="Saldo de Conta-Corrente"/>  
<f:selectItem itemValue="OUTRO" itemLabel="OUTRO"/>  
<p:ajax event="change" update="a11" />                        

</h:selectOneMenu>

mas atente uma coisa, o evento é para o select inteiro, não para a opção outro. Se você clicar em QUALQUER opção do select, será exibido o painel de saída

R

troquei mas continua falho…

tudo bem, o event é pro select todo, mas no campo texto em baixo eu especifiquei que eu queria esse valor

h:outputText value="teste 1" rendered="#{baseBean.base.planoEconomico eq OUTRO}"/> <h:outputText value="teste 2" rendered="#{baseBean.base.planoEconomico ne OUTRO}"/>

Criado 10 de agosto de 2011
Ultima resposta 10 de ago. de 2011
Respostas 2
Participantes 2