Pessoal boa noite, eu estava fazendo um crud para a classe fornecedores, e nela eu queria puxar uma combox de cidade, porem esta aparecendo esse erro ai eu já tentei de tudo.... me ajudem por favor.
Message /paginas/fornecedores.xhtml @16,74 value="#{fornecedorController.varcidade}": Property [varcidade] not found on type [br.com.brasil.controller.fornecedorController]
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
javax.servlet.ServletException: /paginas/fornecedores.xhtml @16,74 value="#{fornecedorController.varcidade}": Property [varcidade] not found on type [br.com.brasil.controller.fornecedorController]
javax.faces.webapp.FacesServlet.service(FacesServlet.java:671)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause
javax.el.PropertyNotFoundException: /paginas/fornecedores.xhtml @16,74 value="#{fornecedorController.varcidade}": Property [varcidade] not found on type [br.com.brasil.controller.fornecedorController]
com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:111)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194)
javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182)
javax.faces.component.UIOutput.getValue(UIOutput.java:174)
javax.faces.component.UIInput.getValue(UIInput.java:291)
com.sun.faces.renderkit.html_basic.MenuRenderer.getCurrentSelectedValues(MenuRenderer.java:648)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderOptions(MenuRenderer.java:749)
com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:847)
com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:297)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:920)
com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
com.sun.faces.renderkit.html_basic.GridRenderer.renderRow(GridRenderer.java:185)
com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:129)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:890)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:458)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:134)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
@ManagedBean
@ViewScoped
public class fornecedorController {
public Fornecedor fornecedor = new Fornecedor();
public Integer varcidade;
public Fornecedor getFornecedor() {
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public Integer getVarcidade() {
return varcidade;
}
public void setVarcidade(Integer varcidade) {
this.varcidade = varcidade;
}
public void gravar () {
Cidade cdd = new DAO<Cidade>(Cidade.class).listaPorId(this.varcidade);
fornecedor.setCidade(cdd);
if(this.fornecedor.getIdFornecedor() == null) {
new DAO<Fornecedor>(Fornecedor.class).adiciona(fornecedor);
} else {
new DAO<Fornecedor>(Fornecedor.class).atualiza(fornecedor);
}this.fornecedor= new Fornecedor();
}
//////////////////////
public List<Fornecedor> getTodosFornecedores(){
return new DAO<Fornecedor>(Fornecedor.class).listaTodos();
}
/////////////////////
public void remover(Fornecedor f){
new DAO<Fornecedor>(Fornecedor.class).remove(f.getIdFornecedor());
}
return new DAO<Cidade>(Cidade.class).listaTodos();
}
}
fornecedor xhtml (obs so coloquei a caixa de combo para realizar o testes, falta os outros campos ainda) >>>>>>>>>>>>>>>>>>.
<?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">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
>
<h:body>
<h:form> <!-- formulario -->
<fieldset>
<legend> Dados fonecedores</legend>
<h:panelGrid> <!--Um painel-->
<h:outputText value="Selecione um cidade" for="cidade"/>
<h:selectOneMenu id="cidade" value="#{fornecedorController.varcidade}"> <!-- quando selecionar o meu produto e o seu tipo, ele vai salvar pra mim o meu tipo que alias é de outra tabela -->
<f:selectItems itemLabel="Selecionar" noSelectionOption="true"/>
<f:selectItems value="#{fornecedorController.todasCidades}"
var="estado" itemLabel="#{cidade.nomeCidade}" itemValue="#{cidade.idCidade}"/>
</h:selectOneMenu>
<h:column>
<f:facet name="header">Remover</f:facet> <!-- titulo -->
<h:commandLink value="remove" action="#{fornecedorController.remover(fornecedores)}"/> <!-- vai ser um link -->
</h:column>
<h:column>
<f:facet name="header">Alterar</f:facet> <!-- titulo -->
<h:commandLink value="altera" action="#{fornecedorController.carregar(fornecedores)}"/> <!-- vai ser um link -->
</h:column>
Pergunta
Big Reputation
Pessoal boa noite, eu estava fazendo um crud para a classe fornecedores, e nela eu queria puxar uma combox de cidade, porem esta aparecendo esse erro ai eu já tentei de tudo.... me ajudem por favor.
Message /paginas/fornecedores.xhtml @16,74 value="#{fornecedorController.varcidade}": Property [varcidade] not found on type [br.com.brasil.controller.fornecedorController]
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
Root Cause
Root Cause
Classe fornecedor>>>>>>>>>>>
package br.com.brasil.modelo;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToOne;
@Entity
public class Fornecedor {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private Integer idFornecedor;
private String Empresa;
private String Cnpj;
private String Telefone;
@ManyToOne
private Cidade cidade;
public Integer getIdFornecedor() {
return idFornecedor;
}
public void setIdFornecedor(Integer idFornecedor) {
this.idFornecedor = idFornecedor;
}
public String getEmpresa() {
return Empresa;
}
public void setEmpresa(String empresa) {
Empresa = empresa;
}
public String getCnpj() {
return Cnpj;
}
public void setCnpj(String cnpj) {
Cnpj = cnpj;
}
public String getTelefone() {
return Telefone;
}
public Cidade getCidade() {
return cidade;
}
public void setCidade(Cidade cidade) {
this.cidade = cidade;
}
public void setTelefone(String telefone) {
Telefone = telefone;
}
}
fornecedor bean >>>>>>>>>>>>
package br.com.brasil.controller;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import br.com.brasil.dao.DAO;
import br.com.brasil.modelo.Cidade;
import br.com.brasil.modelo.Fornecedor;
@ManagedBean
@ViewScoped
public class fornecedorController {
public Fornecedor fornecedor = new Fornecedor();
public Integer varcidade;
public Fornecedor getFornecedor() {
return fornecedor;
}
public void setFornecedor(Fornecedor fornecedor) {
this.fornecedor = fornecedor;
}
public Integer getVarcidade() {
return varcidade;
}
public void setVarcidade(Integer varcidade) {
this.varcidade = varcidade;
}
public void gravar () {
Cidade cdd = new DAO<Cidade>(Cidade.class).listaPorId(this.varcidade);
fornecedor.setCidade(cdd);
if(this.fornecedor.getIdFornecedor() == null) {
new DAO<Fornecedor>(Fornecedor.class).adiciona(fornecedor);
} else {
new DAO<Fornecedor>(Fornecedor.class).atualiza(fornecedor);
}this.fornecedor= new Fornecedor();
}
//////////////////////
public List<Fornecedor> getTodosFornecedores(){
return new DAO<Fornecedor>(Fornecedor.class).listaTodos();
}
/////////////////////
public void remover(Fornecedor f){
new DAO<Fornecedor>(Fornecedor.class).remove(f.getIdFornecedor());
}
////////////////////
public void carregar (Fornecedor f){
this.fornecedor = f;
this.varcidade = f.getCidade().getIdCidade(); //combo
}
//////////////////////
public List<Cidade> getTodasCidades(){
return new DAO<Cidade>(Cidade.class).listaTodos();
}
}
fornecedor xhtml (obs so coloquei a caixa de combo para realizar o testes, falta os outros campos ainda) >>>>>>>>>>>>>>>>>>.
<?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">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
>
<h:body>
<h:form> <!-- formulario -->
<fieldset>
<legend> Dados fonecedores</legend>
<h:panelGrid> <!--Um painel-->
<h:outputText value="Selecione um cidade" for="cidade"/>
<h:selectOneMenu id="cidade" value="#{fornecedorController.varcidade}"> <!-- quando selecionar o meu produto e o seu tipo, ele vai salvar pra mim o meu tipo que alias é de outra tabela -->
<f:selectItems itemLabel="Selecionar" noSelectionOption="true"/>
<f:selectItems value="#{fornecedorController.todasCidades}"
var="estado" itemLabel="#{cidade.nomeCidade}" itemValue="#{cidade.idCidade}"/>
</h:selectOneMenu>
<h:commandButton value= "Gravar" action="#{fornecedorController.gravar}"/>
</h:panelGrid>
</fieldset>
<h:dataTable value= "#{fornecedorController.todasFornecedores}" var="fornecedores">
<h:column>
<f:facet name="header">Empresa</f:facet>
<h:outputText value="#{fornecedores.empresa}"/>
</h:column>
<h:column>
<f:facet name="header">Cnpj</f:facet>
<h:outputText value="#{fornecedores.cnpj}"/>
</h:column>
<h:column>
<f:facet name="header">Telefone</f:facet>
<h:outputText value="#{fornecedores.telefone}"/>
</h:column>
<h:column>
<f:facet name="header">Remover</f:facet> <!-- titulo -->
<h:commandLink value="remove" action="#{fornecedorController.remover(fornecedores)}"/> <!-- vai ser um link -->
</h:column>
<h:column>
<f:facet name="header">Alterar</f:facet> <!-- titulo -->
<h:commandLink value="altera" action="#{fornecedorController.carregar(fornecedores)}"/> <!-- vai ser um link -->
</h:column>
</h:dataTable>
</h:form>
</h:body>
</html>
me ajudem urgente :(
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.