Erro ao tentar cadastrar Aluno [Resolvido]

4 respostas
W

Olá amigos do GUJ. Não estou conseguindo cadastrar um Aluno em minha aplicação. Já testei algumas soluções vistas aqui no grupo mas não consegui resolver mesmo assim. Esse erro dá assim que chamo a tela de cadastro.
Segue o erro que está apresentando e os códigos refentes a aluno. Se alguém puder dizer onde estou errando, desde já agradeço.

11:48:08,447 Grave [javax.enterprise.resource.webcontainer.jsf.application] (http--127.0.0.1-8080-2) Error Rendering View[/cadastroAluno.xhtml]: javax.el.PropertyNotFoundException: /cadastroAluno.xhtml @45,53 value="#{alunoBean.aluno.endereco.rua}": The class 'com.gugawag.projeto.modelo.Endereco' does not have a readable property 'rua'.
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIOutput.getValue(UIOutput.java:169) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:67) [primefaces-3.2.jar:]
	at org.primefaces.component.inputtext.InputTextRenderer.encodeMarkup(InputTextRenderer.java:79) [primefaces-3.2.jar:]
	at org.primefaces.component.inputtext.InputTextRenderer.encodeEnd(InputTextRenderer.java:50) [primefaces-3.2.jar:]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:57) [primefaces-3.2.jar:]
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45) [primefaces-3.2.jar:]
	at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:185) [primefaces-3.2.jar:]
	at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:108) [primefaces-3.2.jar:]
	at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:55) [primefaces-3.2.jar:]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276) [richfaces-components-ui-4.1.0.20110910-M2.jar:]
	at org.richfaces.renderkit.html.PanelRenderer.encodeEnd(PanelRenderer.java:181) [richfaces-components-ui-4.1.0.20110910-M2.jar:]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:57) [primefaces-3.2.jar:]
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45) [primefaces-3.2.jar:]
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeContent(FieldsetRenderer.java:86) [primefaces-3.2.jar:]
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeMarkup(FieldsetRenderer.java:68) [primefaces-3.2.jar:]
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeEnd(FieldsetRenderer.java:45) [primefaces-3.2.jar:]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.7.Final.jar:]
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.CR1b.jar:7.1.0.CR1b]
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:151) [jboss-as-web-7.1.0.CR1b.jar:7.1.0.CR1b]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.7.Final.jar:]
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897) [jbossweb-7.0.7.Final.jar:]
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:626) [jbossweb-7.0.7.Final.jar:]
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2033) [jbossweb-7.0.7.Final.jar:]
	at java.lang.Thread.run(Thread.java:722) [:1.7.0_02]

11:48:08,452 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/projeto].[Faces Servlet]] (http--127.0.0.1-8080-2) Servlet.service() for servlet Faces Servlet threw exception: javax.el.PropertyNotFoundException: /cadastroAluno.xhtml @45,53 value="#{alunoBean.aluno.endereco.rua}": The class 'com.gugawag.projeto.modelo.Endereco' does not have a readable property 'rua'.
	at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIOutput.getValue(UIOutput.java:169) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.primefaces.util.ComponentUtils.getValueToRender(ComponentUtils.java:67) [primefaces-3.2.jar:]
	at org.primefaces.component.inputtext.InputTextRenderer.encodeMarkup(InputTextRenderer.java:79) [primefaces-3.2.jar:]
	at org.primefaces.component.inputtext.InputTextRenderer.encodeEnd(InputTextRenderer.java:50) [primefaces-3.2.jar:]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:57) [primefaces-3.2.jar:]
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45) [primefaces-3.2.jar:]
	at org.primefaces.component.panel.PanelRenderer.encodeContent(PanelRenderer.java:185) [primefaces-3.2.jar:]
	at org.primefaces.component.panel.PanelRenderer.encodeMarkup(PanelRenderer.java:108) [primefaces-3.2.jar:]
	at org.primefaces.component.panel.PanelRenderer.encodeEnd(PanelRenderer.java:55) [primefaces-3.2.jar:]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1756) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.richfaces.renderkit.RendererBase.renderChildren(RendererBase.java:276) [richfaces-components-ui-4.1.0.20110910-M2.jar:]
	at org.richfaces.renderkit.html.PanelRenderer.encodeEnd(PanelRenderer.java:181) [richfaces-components-ui-4.1.0.20110910-M2.jar:]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:57) [primefaces-3.2.jar:]
	at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:45) [primefaces-3.2.jar:]
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeContent(FieldsetRenderer.java:86) [primefaces-3.2.jar:]
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeMarkup(FieldsetRenderer.java:68) [primefaces-3.2.jar:]
	at org.primefaces.component.fieldset.FieldsetRenderer.encodeEnd(FieldsetRenderer.java:45) [primefaces-3.2.jar:]
	at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1763) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1759) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.0.0.Beta1.jar:2.0.0.Beta1]
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.7.Final.jar:]
	at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.1.0.CR1b.jar:7.1.0.CR1b]
	at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:151) [jboss-as-web-7.1.0.CR1b.jar:7.1.0.CR1b]
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.7.Final.jar:]
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [jbossweb-7.0.7.Final.jar:]
	at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:897) [jbossweb-7.0.7.Final.jar:]
	at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:626) [jbossweb-7.0.7.Final.jar:]
	at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:2033) [jbossweb-7.0.7.Final.jar:]
	at java.lang.Thread.run(Thread.java:722) [:1.7.0_02]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.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:ui="http://java.sun.com/jsf/facelets"
      xmlns:p="http://primefaces.org/ui" 
      xmlns:rich="http://richfaces.org/rich">
     


	<ui:composition template="template.xhtml">
	<ui:define name="titulo">Cadastro de Aluno</ui:define>
	<ui:define name="principal">
	

	<h:form>
		<h:panelGrid columns="2">
    		<p:panel  id="panel" header="Cadastrar Aluno" style="margin-bottom:20px;">
        		<p:focus context="panel"/>
        		<h:panelGrid columns="3">  
        	

      	 
					<h:outputText value="Nome: " style="font-weight:bold"/> 
		 			<p:inputText id="nome" size="29" value="#{alunoBean.aluno.nome}" required="true"
		 				requiredMessage="Por favor, informe o Nome."/>
	
		 			
		 		
		 			<h:outputText  value="Matrícula: " style="font-weight:bold"/> 
		 			<p:inputText id="matricula" size="29" value="#{alunoBean.aluno.matricula}" required="true"
		 				requiredMessage="Por favor, informe a Matrícula."/>
		 			
		 				
		 			<h:outputText value="Data de Nascimento:" style="font-weight:bold"/> 
		 			<p:inputMask mask="99/99/9999" id="dataNascimento" size="29" value="#{alunoBean.aluno.dataNascimento}" required="true"
		 		    	display="inline" requiredMessage="Por favor, informe a Data de Nascimento.">   	
		 				<f:convertDateTime  pattern="dd/MM/yyyy" timeZone="GMT-03:00" />
		 			</p:inputMask>
		 			
		 		
		 			
           		<h:outputText  value="Rua: " style="font-weight:bold"/> 
		 			<p:inputText id="rua" size="29" value="#{alunoBean.aluno.endereco.rua}" required="true"
		 				requiredMessage="Por favor, informe a Rua."/>
		 			
		 			
		 		<h:outputText  value="Número: " style="font-weight:bold"/> 
		 			<p:inputText id="numero" size="29" value="#{alunoBean.aluno.endereco.numero}" required="true"
		 				requiredMessage="Por favor, informe o número."/>
		 			
		 			
		 		<h:outputText  value="Cidade: " style="font-weight:bold"/> 
		 			<p:inputText id="cidade" size="29" value="#{alunoBean.aluno.endereco.cidade}" required="true"
		 				requiredMessage="Por favor, informe a Cidade."/>
		 			
		 		
		 		<h:outputLabel value="Uf:" style="font-weight:bold"/>
				<h:selectOneMenu value="#{alunoBean.aluno.uf}">
		 			<f:selectItems value="#{alunoBean.ufs}"/>
		 		</h:selectOneMenu>
		 		
		 		<h:outputText  value="Complemento: " style="font-weight:bold"/> 
		 			<p:inputText id="complemento" size="29" value="#{alunoBean.aluno.endereco.complemento}" required="true"
		 				requiredMessage="Por favor, informe o complemento."/>
		 			
		 		
		 		<h:outputText  value="Cep: " style="font-weight:bold"/> 
		 			<p:inputText id="cep" size="29" value="#{alunoBean.aluno.endereco.cep}" required="true"
		 				requiredMessage="Por favor, informe o cep."/>
		 			
		
				</h:panelGrid>
			</p:panel>
		</h:panelGrid>
		<p:spacer width="4" height="10" /> 
		<h:commandButton update="panel"  value="#{msg['aluno.btCadastro.nome']}" 
		action="#{alunoBean.cadastrar()}"/>
		<p:spacer width="10" height="10" /> 
		<h:commandButton  type="reset" value="   Limpar   " />
				
	</h:form>
	<h:messages/>
	</ui:define>	
	</ui:composition>

</html>
package com.gugawag.projeto.modelo;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;



@Entity
public class Aluno implements Serializable {

	private static final long serialVersionUID = 1L;
	

	@Id 
	@GeneratedValue
	private Long id;
	
	@Column
	private Uf uf;
	
	@Column
	private String nome;
	
	@Column
	private String matricula;
	
	@Temporal(TemporalType.DATE)
	private Date dataNascimento;
	
	
	@OneToOne(cascade=CascadeType.ALL)
	private Endereco endereco;
	
	public Aluno(){
		this(null, null, null, null);
	}
	
	public Aluno(String nome,  String matricula, Date dataNascimento, Uf uf) {
		super();
		this.endereco = new Endereco();
		this.nome = nome;
		this.matricula = matricula;
		this.dataNascimento = dataNascimento;
		this.uf = uf;
		
	}
	
	public Uf getUf() {
		return uf;
	}

	public void setUf(Uf uf) {
		this.uf = uf;
	}
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome.toUpperCase();
	}

	public String getMatricula() {
		return matricula;
	}

	public void setMatricula(String matricula) {
		this.matricula = matricula;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Date getDataNascimento() {
		return dataNascimento;
	}

	public void setDataNascimento(Date dataNascimento) {
		this.dataNascimento = dataNascimento;
	}
	
	public Endereco getEndereco() {
		return endereco;
	}

	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	
}
package com.gugawag.projeto.beans;

import java.util.Date;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import com.gugawag.projeto.modelo.Aluno;
import com.gugawag.projeto.modelo.Uf;
import com.gugawag.projeto.modelo.Usuario;
import com.gugawag.projeto.repositorio.AlunoRepositorio;
import com.gugawag.projeto.service.AlunoJahCadastradoException;
import com.gugawag.projeto.service.CadastroAlunoService;


@ManagedBean
@SessionScoped
public class AlunoBean{
	
	private Aluno aluno;
	private String nomeAtual;
	private String matriculaAtual;
	private Uf  ufAtual;
	
	private Date dataNascAtual;
	
	public AlunoBean(){
		aluno = new Aluno();
		
	}
	
	@EJB
	private CadastroAlunoService alunoService;
	
	@EJB
	private AlunoRepositorio alunoRepositorio;
	
	public Aluno getAluno() {
		return aluno;
	}

	public void setAluno(Aluno aluno) {
		this.aluno = aluno;
	}
	
	public List<Aluno> getAlunos(){
		return alunoService.getAlunos();
	}

	public String editar(Aluno aluno){
		nomeAtual = aluno.getNome();
		matriculaAtual = aluno.getMatricula();
		dataNascAtual = aluno.getDataNascimento();
		ufAtual = aluno.getUf();
		this.aluno = aluno;
		return "editarAluno";
	}
	
	public String editar(String novoNome, String novaMatricula, Date novaData, Uf novoUf){
		if(nomeAtual.equalsIgnoreCase(novoNome) && matriculaAtual.equalsIgnoreCase(novaMatricula)
				&& dataNascAtual.equals(novaData) && ufAtual.equals(novoUf)){
			Util.acrescentaMensagem("aluno.alunoNaoAlterado", new String[]{aluno.getNome()});
		}else{
			Util.acrescentaMensagem("aluno.alunoAlterado", new String[]{aluno.getNome()});
		}
		alunoRepositorio.atualizar(aluno);
		this.aluno = new Aluno();
		return "listagemAlunos";
	}
	
	public Uf[] getUfs(){
		return Uf.values();
	}
	
	public String cadastrar(){
		
		try {
			alunoService.cadastrarAluno(aluno);
			aluno = new Aluno();
			Util.acrescentaMensagem("aluno.cadastrosucesso", new String[]{aluno.getNome()});
		} catch (AlunoJahCadastradoException e) {
			Util.acrescentaMensagem("aluno.alunojahcadastrado", new String[]{aluno.getNome()});
		}
		return null;
	}
	
	public String remover(Aluno aluno){
		alunoRepositorio.remover(aluno);
		return null;
	}
	
}
package com.gugawag.projeto.service;

import java.util.List;

import javax.ejb.EJB;
import javax.ejb.Stateless;

import com.gugawag.projeto.modelo.Aluno;
import com.gugawag.projeto.repositorio.AlunoRepositorio;

@Stateless
public class CadastroAlunoService {
	
	@EJB
	private AlunoRepositorio alunoRepositorio;

	public void cadastrarAluno(Aluno aluno) throws AlunoJahCadastradoException{
		System.out.println("ok");
		Aluno alunoPesquisado = alunoRepositorio.getAlunoPorNome(aluno.getNome());
		if (alunoPesquisado != null){
			throw new AlunoJahCadastradoException("Aluno " + aluno + " ja cadastrado!");
		}
		alunoRepositorio.cadastrarAluno(new Aluno(aluno.getNome(), aluno.getMatricula(),
				aluno.getDataNascimento(), aluno.getUf()));
	}

	public List<Aluno> getAlunos() {
		return alunoRepositorio.getAlunos();
	}

}
package com.gugawag.projeto.repositorio;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import com.gugawag.projeto.modelo.Aluno;


@Stateless
public class AlunoRepositorio {
	
	@PersistenceContext
	private EntityManager em;
	
	public void cadastrarAluno(Aluno aluno){
		em.persist(aluno);
	}
	
	public void remover(Aluno aluno) {
		aluno = em.merge(aluno);
		em.remove(aluno);
	}
	
	@SuppressWarnings("unchecked")
	public List<Aluno> getAlunos(){
		return em.createQuery("from Aluno").getResultList();
	}
	
	
	@SuppressWarnings("unchecked")
	public Aluno getAlunoPorNome(String nome){
		List<Aluno> alunos = em.createQuery("from Aluno a where a.nome=:nome").setParameter("nome", nome).getResultList();
		if (alunos != null && alunos.size()>0){
			return alunos.get(0);
		}
		return null;
	}
	
	

	public void atualizar(Aluno aluno) {
		em.merge(aluno);
	}

}

4 Respostas

Rodrigo_Sasaki

Veja a seguinte parte da stacktrace:

wellingtonrs:
The class ‘com.gugawag.projeto.modelo.Endereco’ does not have a readable property ‘rua’.

Diz que sua classe com.gugawag.projeto.modelo.Endereco não possui uma propriedade ‘rua’, ou a mesma não tem um getter.
pra usar seus atributos na EL, eles precisam ter getters

W

Mas tem, olha a classe Endereco.java

package com.gugawag.projeto.modelo;

import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;


@Entity
class Endereco {

	
	@Id @GeneratedValue
	private Long id;
	private String cidade;
	private String rua;
	private int numero;
	private String complemento;
	private String cep;
	
	@Enumerated(EnumType.STRING)
	private Uf uf;
	
	public Endereco() {
		super();
	}
	
	
	public Endereco(String rua, int numero, String cidade, String complemento, String cep) {
		super();
		this.rua = rua;
		this.numero = numero;
		this.complemento = complemento;
		this.cidade = cidade;
		this.cep = cep;
	}
	
	
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public Uf getUf() {
		return uf;
	}
	public void setUf(Uf uf) {
		this.uf = uf;
	}
	public String getCidade() {
		return cidade;
	}
	public void setCidade(String cidade) {
		this.cidade = cidade;
	}
	public String getRua() {
		return rua;
	}
	public void setRua(String rua) {
		this.rua = rua;
	}
	public int getNumero() {
		return numero;
	}
	public void setNumero(int numero) {
		this.numero = numero;
	}
	public String getComplemento() {
		return complemento;
	}
	public void setComplemento(String complemento) {
		this.complemento = complemento;
	}
	public String getCep() {
		return cep;
	}
	public void setCep(String cep) {
		this.cep = cep;
	}
}
W

Pessoal na classe Endereco.java tava faltando o public. Depois que coloquei deixou de dar o erro, mas ainda não está cadastrando. Depois que rodo a aplicação verifico no banco e os campos estão preenchidos com null.

W

Amigos resolvi. Coloquei para instanciar a classe Endereco.java no construtor do AlunoBean.java.
Segue como ficou minha classe bean.

package com.gugawag.projeto.beans;

import java.util.Date;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import com.gugawag.projeto.modelo.Aluno;
import com.gugawag.projeto.modelo.Endereco;
import com.gugawag.projeto.modelo.Uf;
import com.gugawag.projeto.repositorio.AlunoRepositorio;
import com.gugawag.projeto.service.AlunoJahCadastradoException;
import com.gugawag.projeto.service.CadastroAlunoService;


@ManagedBean
@SessionScoped
public class AlunoBean{
	
	private Endereco endereco;
	
	private Aluno aluno;
	private String nomeAtual;
	private String matriculaAtual;
	private Uf  ufAtual;
	
	private Date dataNascAtual;
	
	public AlunoBean(){
		aluno = new Aluno();
		endereco = new Endereco();
	}
	
	
	@EJB
	private CadastroAlunoService alunoService;
	
	@EJB
	private AlunoRepositorio alunoRepositorio;
	
	public Aluno getAluno() {
		return aluno;
	}

	public void setAluno(Aluno aluno) {
		this.aluno = aluno;
	}
	
	public List<Aluno> getAlunos(){
		return alunoService.getAlunos();
	}

	public String editar(Aluno aluno){
		nomeAtual = aluno.getNome();
		matriculaAtual = aluno.getMatricula();
		dataNascAtual = aluno.getDataNascimento();
		ufAtual = aluno.getUf();
		this.aluno = aluno;
		return "editarAluno";
	}
	
	public String editar(String novoNome, String novaMatricula, Date novaData, Uf novoUf){
		if(nomeAtual.equalsIgnoreCase(novoNome) && matriculaAtual.equalsIgnoreCase(novaMatricula)
				&& dataNascAtual.equals(novaData) && ufAtual.equals(novoUf)){
			Util.acrescentaMensagem("aluno.alunoNaoAlterado", new String[]{aluno.getNome()});
		}else{
			Util.acrescentaMensagem("aluno.alunoAlterado", new String[]{aluno.getNome()});
		}
		alunoRepositorio.atualizar(aluno);
		this.aluno = new Aluno();
		return "listagemAlunos";
	}
	
	public Uf[] getUfs(){
		return Uf.values();
	}
	
	public String cadastrar(){
		
		try {
			alunoService.cadastrarAluno(aluno);
			aluno = new Aluno();
			Util.acrescentaMensagem("aluno.cadastrosucesso", new String[]{aluno.getNome()});
		} catch (AlunoJahCadastradoException e) {
			Util.acrescentaMensagem("aluno.alunojahcadastrado", new String[]{aluno.getNome()});
		}
		return null;
	}
	
	public String remover(Aluno aluno){
		alunoRepositorio.remover(aluno);
		return null;
	}

	
}
Criado 26 de maio de 2012
Ultima resposta 26 de mai. de 2012
Respostas 4
Participantes 2