Ola estou assistindo umas video aulas sobre jsf no youtube porem agora deu um erro alguem pode me ajudar?
Fabricante.xhtml
<?xml version="1.0" encoding="ISO-8859-1" ?><ui:composition 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"
xmlns:ui=“http://java.sun.com/jsf/facelets"
template=”/templates/modeloSistema.xhtml”>
<ui:define name="menu">
<ui:include src="/includes/menuPrincipal.xhtml" />
</ui:define>
<ui:define name="conteudo">
<h:form id="frmFabListagem">
<p:dataTable id="tblFabricantes" emptyMessage="Nenhum Registro Encontrado"
value="#{MBFabricante.itens}" var="item" paginator="true" rows="10">
<f:facet name="header">
Fabricante - Listagem
</f:facet>
<p:column headerText="Código: " sortBy="#{item.codigo}"
filterBy="#{item.codigo}">
<h:outputText value="#{item.codigo}" />
</p:column>
<p:column headerText="Descrição: " sortBy="#{item.descricao}"
filterBy="#{item.descricao}">
<h:outputText value="#{item.descricao}" />
</p:column>
<p:column headerText="Opçoes">
<p:commandButton icon="ui-icon-trash" actionListener="#{MBFabricante.prepararExcluir}"
oncomplete="PF('dlgFabExcluir').show;"/>
</p:column>
<f:facet name="footer">
<p:commandButton value="Novo" actionListener="#{MBFabricante.prepararNovo}"
oncomplete="PF('dlgFabNovo').show();" update=":frmFabNovo:pnlFabNovo"/>
</f:facet>
</p:dataTable>
</h:form>
<p:dialog widgetVar="dlgFabNovo" closable="false" draggable="false"
resizable="false" modal="true" appendTo="@(body)" header="Fabricante - Novo">
<h:form id="frmFabNovo">
<h:panelGrid id="pnlFabNovo" columns="2">
<h:outputLabel value="Descrição: "/>
<h:inputText size="30" maxlength="50" value="#{MBFabricante.fabricante.descricao}" />
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Gravar" actionListener="#{MBFabricante.novo}"
oncomplete="PF('dlgFabNovo').hide();" update=":frmFabListagem:tblFabricantes:msgGlobal" />
<p:commandButton value="Cancelar" onclick="PF('dlgFabNovo').hide();" />
</h:panelGrid>
</h:form>
</p:dialog>
<p:dialog widgetVar="dlgFabExcluir" closable="false"
draggable="false" resizable="false"
modal="true" appendTo="@(body)"
header="Fabricante - Excluir">
<h:form id="frmFabExcluir">
<h:panelGrid id="pnlFabExcluir" Columns="2">
<h:outputText value="Código: "/>
<h:outputText value="#{MBFabricante.fabricante.codigo}"/>
<h:outputText value="Descrição: "/>
<h:outputText value="#{MBFabricante.fabricante.descricao}"/>
</h:panelGrid>
<h:panelGrid columns="2">
<p:commandButton value="Excluir" actionListener="#{MBFabricante.excluir}"
oncomplete="PF('dlgFabExcluir').hide();" />
<p:commandButton value="Cancelar" onclick="PF('dlgFabExcluir').hide();"/>
</h:panelGrid>
</h:form>
</p:dialog>
</ui:define>
</ui:composition>
FabricanteBean
package br.com.drogaria.bean;
import java.sql.SQLException;
import java.util.ArrayList;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.model.ListDataModel;
import br.com.drogaria.dao.FabricanteDAO;
import br.com.drogaria.domain.Fabricante;
import br.com.drogaria.util.JSFUtil;
@ManagedBean(name = “MBFabricante”)
@ViewScoped
public class FabricanteBean {
private Fabricante fabricante;
private ListDataModel itens;
public Fabricante getFabricante() {
return fabricante;
}
public void setFabricante(Fabricante fabricante) {
this.fabricante = fabricante;
}
public ListDataModel getItens() {
return itens;
}
public void setItens(ListDataModel itens) {
this.itens = itens;
}
@PostConstruct
public void prepararPesquisa() {
try {
FabricanteDAO dao = new FabricanteDAO();
ArrayList lista = dao.listar();
itens = new ListDataModel(lista);
} catch (SQLException ex) {
ex.printStackTrace();
JSFUtil.adicionarMensagemErro(ex.getMessage());
}
}
public void prepararNovo(){
fabricante = new Fabricante();
}
public void novo() {
try {
FabricanteDAO dao = new FabricanteDAO();
dao.salvar(fabricante);
ArrayList lista = dao.listar();
itens = new ListDataModel(lista);
JSFUtil.adicionarMensagemSucesso(“Fabricante salvo com sucesso.”);
} catch (SQLException ex) {
ex.printStackTrace();
JSFUtil.adicionarMensagemErro(ex.getMessage());
}
}
public void prepararExcluir(){
fabricante = itens.getRowData();
}
public void excluir(){
try {
FabricanteDAO dao = new FabricanteDAO();
dao.excluir(fabricante);
ArrayList lista = dao.listar();
itens = new ListDataModel(lista);
JSFUtil.adicionarMensagemSucesso(“Fabricante removido com sucesso.”);
} catch (SQLException ex) {
ex.printStackTrace();
JSFUtil.adicionarMensagemErro(ex.getMessage());
}
}
}
FabricanteDAO
package br.com.drogaria.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import br.com.drogaria.factory.ConexaoFactory;
import br.com.drogaria.domain.Fabricante;
public class FabricanteDAO{
public void salvar(Fabricante f) throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("INSERT INTO fabricante “);
sql.append(”(descricao) ");
sql.append("VALUES (?) “);
Connection conexao = ConexaoFactory.conectar();
conexao.setAutoCommit(Boolean.FALSE);
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setString(1, f.getDescricao());
int i = comando.executeUpdate();
if(i > 0){
System.out.println(i + " insert realizado”);
}
comando.close();
conexao.commit();
conexao.close();
}
public void excluir(Fabricante f)throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("DELETE FROM fabricante ");
sql.append("WHERE codigo = ? ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setLong(1,f.getCodigo());
comando.executeUpdate();
}
public void editar(Fabricante f)throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("UPDATE fabricante ");
sql.append("SET descricao = ? ");
sql.append("WHERE codigo = ? ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setString(1, f.getDescricao());
comando.setLong(2, f.getCodigo());
comando.executeUpdate();
}
public Fabricante BuscarPorCodigo(Fabricante f) throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo,descricao ");
sql.append("FROM fabricante ");
sql.append("WHERE codigo = ? ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setLong(1, f.getCodigo());
ResultSet resultado = comando.executeQuery();
Fabricante retorno = null;
if(resultado.next()){
retorno = new Fabricante();
retorno.setCodigo(resultado.getLong("codigo"));
retorno.setDescricao(resultado.getString("descricao"));
}
return retorno;
}
public ArrayList<Fabricante> listar() throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo, descricao ");
sql.append("FROM fabricante ");
sql.append("ORDER BY descricao ASC ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
ResultSet resultado = comando.executeQuery();
ArrayList<Fabricante> lista = new ArrayList<Fabricante>();
while(resultado.next()){
Fabricante f = new Fabricante();
f.setCodigo(resultado.getLong("codigo"));
f.setDescricao(resultado.getString("descricao"));
lista.add(f);
}
return lista;
}
public ArrayList<Fabricante> buscarPorDescricao(Fabricante f) throws SQLException{
StringBuilder sql = new StringBuilder();
sql.append("SELECT codigo, descricao ");
sql.append("FROM fabricante ");
sql.append("WHERE descricao LIKE ? ");
sql.append("ORDER BY descricao ASC ");
Connection conexao = ConexaoFactory.conectar();
PreparedStatement comando = conexao.prepareStatement(sql.toString());
comando.setString(1, "%" + f.getDescricao() + "%");
ResultSet resultado = comando.executeQuery();
ArrayList<Fabricante> lista = new ArrayList<Fabricante>();
while(resultado.next()){
Fabricante item = new Fabricante();
item.setCodigo(resultado.getLong("codigo"));
item.setDescricao(resultado.getString("descricao"));
lista.add(item);
}
return lista;
}
public static void main(String[] args) {
//Fabricante f1 = new Fabricante();
//f1.setCodigo(3L);
/*Fabricante f2 = new Fabricante();
f2.setCodigo(4L);
FabricanteDAO fdao =new FabricanteDAO();
try {
Fabricante f3 = fdao.BuscarPorCodigo(f1);
Fabricante f4 = fdao.BuscarPorCodigo(f2);
System.out.println("imprimi" + f3);
System.out.println("imprimi" + f4);
} catch (SQLException e) {
System.out.println("Ocorreu erro");
e.printStackTrace();
}*/
/*Fabricante f1 = new Fabricante();
f1.setDescricao("Descricao 1");
Fabricante f2 = new Fabricante();
f2.setDescricao("descricao 2");
FabricanteDAO fdao = new FabricanteDAO();
try {
fdao.salvar(f1);
fdao.salvar(f2);
System.out.println("Salvo com Sucesso");
} catch (SQLException e) {
System.out.println("Ocorreu erro");
e.printStackTrace();
}*/
/*Fabricante f1 = new Fabricante();
f1.setCodigo(2L);
FabricanteDAO fdao = new FabricanteDAO();
try {
fdao.excluir(f1);
System.out.println("removido");
} catch (SQLException e) {
System.out.println("Sem sucesso");
e.printStackTrace();
}*/
/*Fabricante f1 = new Fabricante();
f1.setCodigo(3L);
f1.setDescricao("Descricao 3");
FabricanteDAO f = new FabricanteDAO();
try {
f.editar(f1);
System.out.println("Editado com sucesso");
} catch (SQLException e) {
System.out.println(“Erro”);
e.printStackTrace();
}*/
/FabricanteDAO fdao = new FabricanteDAO();
try{
ArrayList lista = fdao.listar();
for(Fabricante f : lista){
System.out.println("Resultado " +f);
}
}catch(SQLException e){
System.out.println(“erro”);
e.printStackTrace();
}/
/*Fabricante f1 = new Fabricante();
f1.setDescricao("2");
FabricanteDAO fdao = new FabricanteDAO();
try{
ArrayList<Fabricante> lista = fdao.buscarPorDescricao(f1);
for(Fabricante f : lista){
System.out.println("Resultado " + f);
}
}catch(SQLException e){
System.out.println("erro");
e.printStackTrace();
}*/
}
}
erro
HTTP Status 500 - Cannot find component with expression “:frmFabNovo:pnlFabNovo” referenced from “j_idt6:frmFabListagem:tblFabricantes:j_idt26”.
type Exception report
message Cannot find component with expression “:frmFabNovo:pnlFabNovo” referenced from “j_idt6:frmFabListagem:tblFabricantes:j_idt26”.
description The server encountered an internal error that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Cannot find component with expression “:frmFabNovo:pnlFabNovo” referenced from “j_idt6:frmFabListagem:tblFabricantes:j_idt26”.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
root cause
javax.faces.FacesException: Cannot find component with expression “:frmFabNovo:pnlFabNovo” referenced from “j_idt6:frmFabListagem:tblFabricantes:j_idt26”.
org.primefaces.expression.SearchExpressionFacade.resolveComponentInternal(SearchExpressionFacade.java:435)
org.primefaces.expression.SearchExpressionFacade.resolveComponentForClient(SearchExpressionFacade.java:220)
org.primefaces.expression.SearchExpressionFacade.resolveComponentsForClient(SearchExpressionFacade.java:130)
org.primefaces.util.AjaxRequestBuilder.addExpressions(AjaxRequestBuilder.java:87)
org.primefaces.util.AjaxRequestBuilder.update(AjaxRequestBuilder.java:80)
org.primefaces.renderkit.CoreRenderer.buildAjaxRequest(CoreRenderer.java:207)
org.primefaces.component.commandbutton.CommandButtonRenderer.encodeMarkup(CommandButtonRenderer.java:87)
org.primefaces.component.commandbutton.CommandButtonRenderer.encodeEnd(CommandButtonRenderer.java:54)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
org.primefaces.component.datatable.DataTableRenderer.encodeFacet(DataTableRenderer.java:883)
org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:218)
org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:83)
javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)

