JSF com AJAX usando a tag f

2 respostas
A

1 - Gostaria de que só aparece o conteúdo na grid abaixo após clique

2 - E assim que clicasse (cadastrasse algo) aparecesse o produto recém cadastrado o que não está aparecendo

Código:

<h:body>
	<h1>Novo Automóvel</h1>
	<h:form> 
		<h:panelGrid>
			<h:outputLabel value="Nome: " for="campo-nome"></h:outputLabel>
			<h:inputText id="campo-nome" value="#{automovelBean.automovel.nome}"  required="true"></h:inputText>
			<h:message for="campo-nome"></h:message>
			
			<h:outputLabel value="Marca: " for="campo-marca"></h:outputLabel>
			<h:inputText id="campo-marca" value="#{automovelBean.automovel.marca}" required="true"></h:inputText>
			<h:message for="campo-marca"></h:message>
			
			<h:commandButton value="Cadastra">
				<f:ajax event="click" render="lista" execute="@form" listener="#{automovelBean.adiciona}"></f:ajax> 
			</h:commandButton>
		</h:panelGrid> 
		
		
		
		<h1>Lista de Automóveis</h1>
		<h:dataTable id="lista" value="#{automovelBean.automoveis}" var="automovel" border="1">
			<h:column>
				<f:facet name="header">
					<h:outputText value="Id"></h:outputText>
				</f:facet>
				#{automovel.id}
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Nome"></h:outputText>
				</f:facet>
				#{automovel.nome}
			</h:column>
			<h:column>
				<f:facet name="header">
					<h:outputText value="Marca"></h:outputText>
				</f:facet>
				#{automovel.marca}
			</h:column>
		</h:dataTable>
	</h:form>
</h:body>

2 Respostas

A

Assim que carrega a tela mostra conforme anexo… Não deveria mostrar o grid, o grid deveria mostrar só qdo. cadastra um item novo já mostrando o
último item cadastrado… Pois quando cadastro atualmente ele pega e não mostra o último item, só mostra se o usuário der refrash na tela…

A

Estou fazendo uns testes e quase funcionou com o immediate="true"

Criado 2 de fevereiro de 2011
Ultima resposta 2 de fev. de 2011
Respostas 2
Participantes 1