Problema ao carregar dados no p:Dialog

1 resposta
K

Olá amigos,
Estou com um problema que vem me tirando do sério a alguns dias, e não sei o que pode estar ocorrendo.
É o seguinte: Eu possuo um DataTable com vários registros, quando eu clico sobre algum registro do dataTable surge um p : Dialog trazendo as informações do registro.
Quando eu coloco OutputText nesse Dialog, os dados vem setados corretamente em cada OutputText (que no caso faz o papel de visualizar registros).
Se eu trocar os OutputText desse dialog e colocar inputText ( para fazer o papel do alterar) ele não carrega o meu Modelo, fala que o modelo é NULL, consequentemente trazendo os dados em branco.
Mas o que eu não consigo entender é, se o modelo está NULL não era para funcionar nem com outputText.

Segue o código:

Página:

<?xml version="1.0" encoding="ISO-8859-1"?> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

	<ui:composition xmlns:ui="http://java.sun.com/jsf/facelets" template="./Template.xhtml">
		<ui:define name="content">
			<f:view contentType="text/html">
				<h:head>
					<f:facet name="first">
					<meta content='text/html; charset=UTF-8' http-equiv="Content-Type"/>
					<title>Gerenciar Aluno</title>
					</f:facet>
				</h:head>
				<h:body>
					<p:panel header="Gerenciar Alunos"> 
					 <h:form id="form">  
					 	<h:outputText value="#{aluno.mensagem}" style="color: blue;"/><br/>
						<p:commandButton value="Novo" action="/Administrador/CadastroAluno.jsf" icon="ui-icon-star"  ajax="false" immediate="true"/>
						<p:commandButton value="Editar" icon="ui-icon-arrowrefresh-1-w"  ajax="true" update="alteraAlunos" oncomplete="alterarDialog.show()" />
						<p:commandButton value="Exibir" icon="ui-icon-extlink"  ajax="true" update="listaAlunos" oncomplete="alunoDialog.show()" />
						
						
						<hr/>
						<p:contextMenu for="alunos">
							<p:menuitem value="Alterar" update="alteraAlunos"
							icon="ui-icon-pencil" oncomplete="alterarDialog.show()" />
							<p:menuitem value="Deletar" update="alunos" actionListener="#{aluno.trancarMatricula(aluno.alunoM.matricula)}"
							icon="ui-icon-trash"  />
							
						</p:contextMenu>
						//DATATABLE
						<p:dataTable id="alunos" var="item" value="#{aluno.alunoList}"   emptyMessage="Nenhum registro encontrado"  
						paginator="true" rows="10" paginatorTemplate="{RowsPerPageDropdown} {FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
						rowKey="#{item.matricula}" filteredValue="#{aluno.alunoFiltro}" selection="#{aluno.alunoM}" selectionMode="single">
						
						<p:ajax event="rowSelect" actionListener="#{aluno.eventoSelect}" update=":form:listaAlunos" />
							<f:facet name="header" />  
						  
							<p:column headerText="Matricula" sortBy="#{item.matricula}" filterBy="#{item.matricula}" id="matricula">  
							<h:outputText value="#{item.matricula}"/>    
							</p:column>  
							<p:column headerText="Nome" sortBy="#{item.nome}" filterBy="#{item.nome}" id="Nome">  
							<h:outputText value="#{item.nome}"/>    
							</p:column>  
							<p:column headerText="CPF" sortBy="#{item.cpf}" filterBy="#{item.cpf}" id="cpf">  
							<h:outputText value="#{item.cpf}"/> 
							</p:column>   
						</p:dataTable>  
						//----FIM DATATABLE
						<p:dialog header="Visualizar" widgetVar="alunoDialog" resizable="false" id="alunoDialog"  width="400" showEffect="fade" hideEffect="explode" modal="true" update="">  
							<h:panelGrid id="listaAlunos" columns="2" cellpadding="4">  
								<h:outputText value="Matricula:" />  
								<h:outputText value="#{aluno.alunoM.matricula}" />  
								<h:outputText value="Nome:" />  
								<h:outputText value="#{aluno.alunoM.nome}" />  
								<h:outputText value="CPF:" />  
								<h:outputText value="#{aluno.alunoM.cpf}" />  
								<h:outputText value="Email:" />  
								<h:outputText value="#{aluno.alunoM.email}"/>
								<h:outputText value="Telefone:" />  
								<h:outputText value="#{aluno.alunoM.telResidencial}"/>
								<h:outputText value="Celular:" />  
								<h:outputText value="#{aluno.alunoM.telCelular}" />
								<h:outputText value="Data De Nascimento:" />  
								<h:outputText value="#{aluno.alunoM.dataNascimento}"/>

								<br/>
							</h:panelGrid> 
						</p:dialog> 
					// DIALOG ALTERAR
						<p:dialog header="Alterar" widgetVar="alterarDialog"  appendToBody="false" id="alterarDialog"  width="400" showEffect="fade" hideEffect="explode" modal="true" update="">  
							
							
							<h:panelGrid id="alteraAlunos" columns="2" cellpadding="4">  
								<h:outputText value="Matricula:" />  
								<p:inputText value="#{aluno.alunoM.matricula}" />  
								<h:outputText value="Nome:" />  
								
								 
								<p:inputText value="#{aluno.alunoM.nome}"  />  
								
								
								<h:outputText value="CPF:" />  
								<p:inputText value="#{aluno.alunoM.cpf}" />  
								<h:outputText value="Email:" />  
								<p:inputText  value="#{aluno.alunoM.email}"/>
								<h:outputText value="Telefone:" />  
								<p:inputText  value="#{aluno.alunoM.telResidencial}"/>
								<h:outputText value="Celular:" />  
		                          
								<p:inputText  value="#{aluno.alunoM.telCelular}" />
								<h:outputText value="Data De Nascimento:" />  
							    <p:inputText  value="#{aluno.alunoM.dataNascimento}"/>
							
								
 							 	<p:commandButton value="Salvar" action="#{aluno.alterarAluno}" icon="ui-icon-disk"  ajax="false"/>
								<br/>
							</h:panelGrid> 
						</p:dialog> 
						//===FIM
						
					
					
					</h:form>
					</p:panel>    
				</h:body>
			</f:view>
		</ui:define>
	</ui:composition>
</html>


ManagedBean:

@ManagedBean(name="aluno")
@RequestScoped
public class AlunoC {

	public Integer id;
	private String nome="";
	private String matricula;
	private String cpf="";
	private String dataNascimento;
	private String telResidencial;
	private String telCelular;
	private String email="";
	private Boolean editarAluno=true;
	
	private AlunoM alunoM;
	private AlunoDAO alunoDAO=new AlunoDAOI();
	private List<AlunoM>alunoList=new ArrayList<AlunoM>();
	private List<AlunoM>alunoFiltro;
	private String mensagem="";
	
	public AlunoC()
	{
		
		
		alunoList.addAll(alunoDAO.pesquisarAluno());
		
		
	}

    public void alterarAluno()
	{
    	
    	
		alunoDAO.alterarAluno(alunoM);
		
		
	}

1 Resposta

Hebert_Coelho

Faça igual a esse post: Aplicação Web Completa Tomcat JSF Primefaces JPA Hibernate.

Criado 2 de outubro de 2012
Ultima resposta 2 de out. de 2012
Respostas 1
Participantes 2