package br.com.caelum.livraria.bean;
import java.util.List;
import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped;
import br.com.caelum.livraria.dao.DAO; import br.com.caelum.livraria.modelo.Autor; import br.com.caelum.livraria.modelo.Livro;
@ManagedBean(name="livroBean") @ViewScoped public class LivroBean {
private Livro livro = new Livro(); private Long autorId;
public Long getAutorId() { if ( autorId==null ){ autorId = (long) 1; } return autorId; }
public void setAutorId(Long autorId) { this.autorId = autorId; }
public Livro getLivro() { return livro; }
public List getAutores(){ return new DAO(Autor.class).listaTodos(); }
public void gravarAutor(){ Autor autor = new DAO(Autor.class).buscaPorId(this.autorId); this.livro.adicionaAutor(autor); }
public void gravar() { System.out.println("Gravando livro " + this.livro.getTitulo());
if (livro.getAutores().isEmpty()) { throw new RuntimeException("Livro deve ter pelo menos um Autor."); }
new DAO(Livro.class).adiciona(this.livro); }
}
HTTP Status 500 - javax.el.PropertyNotFoundException: /livro.xhtml @33,51 value="#{livroBean.autorId}": Property 'autorId' not writable on type br.com.caelum.livraria.bean.LivroBean
type Exception report
message javax.el.PropertyNotFoundException: /livro.xhtml @33,51 value="#{livroBean.autorId}": Property 'autorId' not writable on type br.com.caelum.livraria.bean.LivroBean
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: javax.el.PropertyNotFoundException: /livro.xhtml @33,51 value="#{livroBean.autorId}": Property 'autorId' not writable on type br.com.caelum.livraria.bean.LivroBean javax.faces.webapp.FacesServlet.service(FacesServlet.java:606) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause
javax.faces.component.UpdateModelException: javax.el.PropertyNotFoundException: /livro.xhtml @33,51 value="#{livroBean.autorId}": Property 'autorId' not writable on type br.com.caelum.livraria.bean.LivroBean javax.faces.component.UIInput.updateModel(UIInput.java:853) javax.faces.component.UIInput.processUpdates(UIInput.java:735) javax.faces.component.UIForm.processUpdates(UIForm.java:281) javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1228) com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause
javax.el.PropertyNotFoundException: /livro.xhtml @33,51 value="#{livroBean.autorId}": Property 'autorId' not writable on type br.com.caelum.livraria.bean.LivroBean com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:133) javax.faces.component.UIInput.updateModel(UIInput.java:818) javax.faces.component.UIInput.processUpdates(UIInput.java:735) javax.faces.component.UIForm.processUpdates(UIForm.java:281) javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) javax.faces.component.UIComponentBase.processUpdates(UIComponentBase.java:1242) javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:1228) com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:78) com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118) javax.faces.webapp.FacesServlet.service(FacesServlet.java:593) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.52 logs.
o method estah lá mas não reconhece .... nao entendi...
pode me ajudar...