Olá pessoal. To com um problema que não consigo resolver. Já varri o google e fui atrás de algumas soluções, mas não deu certo.
Se eu chamar o . dá esse erro, mas se eu colocar somente a lista ele exibe o que o método toString da minha classe retornar.
O erro é esse:
GRAVE: Servlet.service() for servlet [Faces Servlet] in context with path [/universidade4] threw exception [/teste.xhtml @27,65 value="#{row.nome}": Property 'nome' not found on type br.com.universidade.entity.Universidade] with root cause
javax.el.PropertyNotFoundException: /teste.xhtml @27,65 value="#{row.nome}": Property 'nome' not found on type br.com.universidade.entity.Universidade
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:108)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:190)
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:178)
at javax.faces.component.UIOutput.getValue(UIOutput.java:164)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:201)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:351)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:160)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:70)
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:54)
at org.primefaces.component.datatable.DataTableRenderer.encodeTable(DataTableRenderer.java:525)
at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:407)
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:193)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:879)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1650)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:164)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:849)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1643)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1646)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:389)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:127)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:117)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:97)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:135)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:311)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:163)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:108)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:556)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:401)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:242)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:267)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:245)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:260)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
Universidade.java
package br.com.universidade.entity;
@Entity
@Table( schema="client", name="universidade")
public class Universidade implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@Column( name="id_universidade", unique=true, nullable=false, updatable=false )
private int idUniversidade;
@Column(name = "nome", nullable = true, length = 200)
private String nome;
public void getIdUniversidade(int idUniversidade) {
this.idUniversidade = idUniversidade;
}
public int setIdUniversidade() {
return idUniversidade;
}
public String setNome() {
return nome;
}
public void getNome(String nome) {
this.nome = nome;
}
@Override
public String toString() {
return nome;
}
}
UniversidadeDao.java
public List<Universidade> getListaCompleta() {
this.session = new HibernateUtil().getSession();
return (List<Universidade>) session.createCriteria(Universidade.class).list();
}
faces-config.xml
<managed-bean>
<managed-bean-name>universidadeDao</managed-bean-name>
<managed-bean-class>br.com.universidade.dao.UniversidadeDao</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
teste.xhtml
<p:dataTable id="tabela" var="row" value="#{universidadeDao.listaCompleta}">
<p:column>
<f:facet name="header">
<h:outputText value="Título"/>
</f:facet>
<h:outputText value="#{row.nome}" />
</p:column>
</p:dataTable>
se eu colocar #{row} ele escreve o que o toString retornar.

