Montando um form dinamico em JSF

opa!

galera, como posso fazer para montar um formulario dinamico e o JSF entender os valores e os campos no momento de erro do binding

tenho um select

<select id="teste" onchange="mostra(this.value)">
    <option id="1">Cheque</option>
    <option id="2">Cartão</option>
</select>

tipo se for cartão tem que aparecer alguns campos, e se for cheque outros campos

alguem saberia como fazer isso

obrigado

Coloque os campos de cada tipo em um outputpainel diferente, e use a propriedade rendered="" para mostrar 1 ou outro de acordo com o valor do seu combo.

foi exatamente isso que fiz, não tão exatamente…
fiz alterando o display de uma div

mas ai o biding não vai funcionar, ou vai?

teria como postar um exemplo?

abraço

Você está usando RichFaces?

Sim estou usando o RichFaces

[code]
<h:selectOneMenu id=“pagamento” value="#{seuBean.tipoPagto}">
<f:selectItem value=“1” label=“Cheque”/>
<f:selectItem value=“2” label=“Cartao”/>
<a4j:support ajaxSingle=“true” event=“onchange” reRender=“painel1,painel2”/>
</h:selectOneMenu>

<h:panelGrid id=“painel1” styleClass=“layoutPagina” rendered="#{seuBean.tipoPagto eq 1}">



</h:panelGrid>
<h:panelGrid id=“painel2” styleClass=“layoutPagina” rendered="#{seuBean.tipoPagto eq 2}">



</h:panelGrid>[/code]

tem algo errado aqui

							<fieldset>
								<legend>Pagamento</legend>
								<h:outputLabel for="pagamento" value="Pagamento" />
								<h:selectOneMenu required="false" value="#{controleVenda.formaPagamento}" id="pagamento">
									<f:selectItems value="#{controleVenda.listaFormaPagamento}" />
									<f:converter converterId="br.com.ternet.cartao.bean.FormaPagamentoBean" />
									<a4j:support ajaxSingle="true" event="onchange" reRender="painel1,painel2"/>  
								</h:selectOneMenu>
							</fieldset>
							
   								<h:panelGrid id="painel1" styleClass="layoutPagina" rendered="#{controleVenda.formaPagamento.detalhe eq 2}">  
									<h:column>
									<fieldset id="det">
										<legend>Detalhes Pagamento</legend>
										<h:outputLabel for="nroCartao" value="Número Cartão" />
										<h:inputText id="nroCartao" value="#{controleVenda.numeroCartao}" maxlength="20" />
	
										<h:outputLabel for="nroTransacao" value="Número Transação" />
										<h:inputText id="nroTransacao" value="#{controleVenda.numeroTransacao}" maxlength="20" />
	
										<h:outputLabel for="bandeira" value="Bandeira" />
										<h:inputText id="bandeira" value="#{controleVenda.bandeira}" maxlength="20" />
									</fieldset>
									</h:column>
								</h:panelGrid>  
								<h:panelGrid id="painel2" styleClass="layoutPagina" rendered="#{controleVenda.formaPagamento.detalhe eq 1}">  
									<h:column>
									<fieldset id="det">
										<legend>Detalhes Pagamento</legend>
										
										<h:outputLabel for="banco" value="Número Banco" />
										<h:inputText id="banco" value="#{controleVenda.numeroBanco}" maxlength="5" />
										
										<h:outputLabel for="agencia" value="Número Agência" />
										<h:inputText id="agencia" value="#{controleVenda.numeroAgencia}" maxlength="10" />
	
										<h:outputLabel for="conta" value="Número Conta" />
										<h:inputText id="conta" value="#{controleVenda.numeroConta}" maxlength="20" />
	
										<h:outputLabel for="c1" value="Número C1" />
										<h:inputText id="c1" value="#{controleVenda.c1}" maxlength="5" />
	
										<h:outputLabel for="c2" value="Número C2" />
										<h:inputText id="c2" value="#{controleVenda.c2}" maxlength="5" />
	
										<h:outputLabel for="c3" value="Número C3" />
										<h:inputText id="c3" value="#{controleVenda.c3}" maxlength="5" />
	
										<h:outputLabel for="titular" value="Nome Titular *" />
										<h:inputText id="titular" value="#{controleVenda.nomeTitular}" maxlength="120" />
	
										<h:outputLabel for="cpfTitular" value="CPF Titular *" />
										<h:inputText id="cpfTitular" value="#{controleVenda.cpfTitular}" maxlength="20" />
										
										<p>* Preencha somente se o cheque for de <strong>terceiros</strong></p>
										
									</fieldset>	
									</h:column>
								</h:panelGrid>  

ele não esta exibindo o que deveria, ou melhor num exibe nada

Aqui vc colocou:

<h:selectOneMenu required="false" value="#{controleVenda.formaPagamento}" id="pagamento"> <f:selectItems value="#{controleVenda.listaFormaPagamento}" /> <f:converter converterId="br.com.ternet.cartao.bean.FormaPagamentoBean" /> <a4j:support ajaxSingle="true" event="onchange" reRender="painel1,painel2"/> </h:selectOneMenu>
e é

<h:selectOneMenu required="false" value="#{controleVenda.formaPagamento.detalhe}" id="pagamento">  

fiz e num deu nada…

ele posta via ajax, mas não exibe o resultado na página

o que pode ser

quando ele faz o submit do formulario ele volta a tela que deveria estar

o que pode ser?