Problema na persistencia de dados com modalPanel RichFaces

1 resposta
J
Bom dia! Estou usando modalPanel para cadastrar e alterar dados. Ao chamar o modalPanel para gravacao ou alteracao de dados, o modalPanel abre com as informações corretas, mas ao chamar o metodo "salvar", ele nao envia os dados. Se meu modalPanel estiver em outro arquivo, ele altera e grava os dados corretamente, mas como estou usando o modalPanel no mesmo arquivo, nao consigo gravar os dados. Abaixo segue meu fonte xhtml. Alguem pode me ajudar?
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition template="/admin/template.xhtml"
	xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:a4j="http://richfaces.org/a4j"
	xmlns:rich="http://richfaces.org/rich">


	<ui:define name="pageContent">

		<rich:dataTable id="table" value="#{veiculoTipoController.todos}"
			var="lista" rows="10" reRender="nav">

			<f:facet name="header">
				<rich:columnGroup>
					<rich:column colspan="5">
						<div align="left"><h:outputLabel value="Tipos de Veículos" /></div>
					</rich:column>
					<rich:column breakBefore="true">
						<h:outputLabel value="Nome" />
					</rich:column>
					<rich:column>
						<h:outputLabel value="Chassi" />
					</rich:column>
					<rich:column colspan="3">
					</rich:column>
				</rich:columnGroup>
			</f:facet>

			<rich:columnGroup>
				<rich:column>
					<h:outputLabel value="#{lista.nome}" />
				</rich:column>
				<rich:column>
					<h:outputLabel value="#{lista.chassi}" />
				</rich:column>
				<rich:column>
					<a4j:commandButton id="btnAdd" image="/images/add.gif"
						oncomplete="#{rich:component('panel')}.show()"
						action="#{veiculoTipoController.incluir}" reRender="panelGrid" >
											
						<rich:toolTip value="Novo Tipo" for="btnAdd" />
					</a4j:commandButton>
				</rich:column>
				<rich:column>
					<a4j:commandButton id="btnEdit" image="/images/edit.gif"
						oncomplete="#{rich:component('panel')}.show()"
						reRender="panelGrid" action="#{veiculoTipoController.alterar}">
					 	<rich:toolTip value="Alterar Tipo" for="btnEdit" />
					</a4j:commandButton>
				</rich:column>
				<rich:column>
					<a4j:commandButton id="btnDelete" image="/images/delete.gif"
						action="#{veiculoTipoController.excluir}" reRender="table" />
					<rich:toolTip value="Excluir Tipo" for="btnDelete" />
				</rich:column>
			</rich:columnGroup>

			<f:facet name="footer">
				<rich:columnGroup>
					<rich:column>					
						<a4j:commandButton id="btnAdd2" image="/images/add.gif"
							oncomplete="#{rich:component('panel')}.show()"
							action="#{veiculoTipoController.incluir}">
							<rich:toolTip value="Novo Tipo" for="btnAdd2" />
						</a4j:commandButton>
					</rich:column>
					<rich:column colspan="4">
						<rich:datascroller id="nav" maxPages="5" align="right"
							reRender="table" />
					</rich:column>
				</rich:columnGroup>
			</f:facet>

		</rich:dataTable>
		
		<rich:modalPanel id="panel" width="500" rendered="true">

			<f:facet name="header">
				<h:outputLabel value="Tipos de Veículos" />
			</f:facet>

			<h:panelGrid id="panelGrid" columns="2">
				<h:outputLabel value="Nome" dir="rtl" />
				<h:inputText id="nome"
					value="#{veiculoTipoController.veiculoTipo.nome}" size="50" />
				<rich:spacer width="10" />
				<rich:message for="nome" />
				<h:outputLabel value="Chassi" dir="rtl" />
				<h:inputText id="chassi"
					value="#{veiculoTipoController.veiculoTipo.chassi}" size="50" />
				<rich:spacer width="10" />
				<rich:message for="chassi" />
			</h:panelGrid>

			<rich:spacer height="10" />

			<h:panelGrid columns="5">
				<rich:spacer width="300" />
				<a4j:commandButton action="#{veiculoTipoController.salvar}"
					image="/images/ok.gif"
					oncomplete="#{rich:component('panel')}.hide()">					
				</a4j:commandButton>

				<rich:spacer width="5" />
				<a4j:commandButton
					onclick="#{rich:component('panel')}.hide();return false"
					id="btnCancel" image="/images/cancel.gif" />
			</h:panelGrid>

		</rich:modalPanel>

	</ui:define>

</ui:composition>

1 Resposta

J

RESOLVIDO:
Encontrei o problema, faltava criar um <h:form> dentro do modalPanel

Criado 1 de dezembro de 2008
Ultima resposta 1 de dez. de 2008
Respostas 1
Participantes 1