Erro de ajax

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)

Cannot find component with expression “:frmFabNovo:pnlFabNovo” referenced from

<p:commandButton value="Novo" actionListener="#{MBFabricante.prepararNovo}" 
		   oncomplete="PF('dlgFabNovo').show();" update=":frmFabNovo:pnlFabNovo"/>

Consegue ver onde está o erro?

<h:form id="frmFabListagem">

Não utilize não nomeie seus managedBeans utilizando letra maiúscula, a JavaBeans tem uma definição bem clara quanto ao nome. Nome da classe com a primeira letra minuscula.

nao entendi? quer dizer que tenho que mudar o MBFabricante para mbfabricante?

sou iniciante

Não sei se isto vai funcionar mas olhe bem, ele esta tentando acessar um componente que esta dentro de outro componente, a ideia que eu te daria é colocar "<h:form id="frmFabNovo"> em volta do <p:dialog></>" assim :

<h:form id="frmFabNovo">
<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>  			
    	</p:dialog>
</h:form>

desculpe se não resolver mas foi a unica ideia que eu tive aehaheuheua, se funcionar me avisa, faz um tempo que não mecho com JSF… Boa sorte.

nao deu, deu mesm msg

Huum então n sei, se vc copiou daqui o código errei em uma coisa perdão tinha um <h:form id="frmFabNovo"> perdido la no meio a forma correta seria:

<h:form id="frmFabNovo">
<p:dialog widgetVar="dlgFabNovo" closable="false" draggable="false"
    		resizable="false" modal="true" appendTo="@(body)" header="Fabricante - Novo">
    			<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>  			
    	</p:dialog>
</h:form>

ai poderia ficar assim para dar o update no form:

   <p:commandButton value="Novo" actionListener="#{MBFabricante.prepararNovo}" 
    		   oncomplete="PF('dlgFabNovo').show();" update=":frmFabNovo"/>

acho que isso deve funcionar, se n funcionar adiciona um id no seu p:dialog e seta ele no “update”

nada :frowning:

HTTP Status 500 - Cannot find component with expression “:frmFabNovo:fabnovo” referenced from “j_idt6:frmFabListagem:tblFabricantes:j_idt26”.

type Exception report

message Cannot find component with expression “:frmFabNovo:fabnovo” 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:fabnovo” 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:fabnovo” 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

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:fabnovo"/>
			</f:facet>
		</p:dataTable>
	</h:form>

<h:form id=“frmFabNovo”>
<p:dialog id=“fabnovo” widgetVar=“dlgFabNovo” closable=“false” draggable=“false"
resizable=“false” modal=“true” appendTo=”@(body)" header=“Fabricante - Novo”>
<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>
</p:dialog>
</h:form>
<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>

<?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:fabnovo"/>
			</f:facet>
		</p:dataTable>
	</h:form>

<h:form id=“frmFabNovo”>
<p:dialog id=“fabnovo” widgetVar=“dlgFabNovo” closable=“false” draggable=“false"
resizable=“false” modal=“true” appendTo=”@(body)" header=“Fabricante - Novo”>
<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>
</p:dialog>
</h:form>
<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>

<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:fabnovo"/>
			</f:facet>
		</p:dataTable>
	</h:form>

<p:dialog id="fabnovo" widgetVar="dlgFabNovo" closable="false" draggable="false"
resizable="false" modal="true" appendTo="@(body)" header="Fabricante - Novo">

<p:commandButton value="Gravar" actionListener="#{MBFabricante.novo}" 
oncomplete="PF('dlgFabNovo').hide();" update=":frmFabListagem:tblFabricantes:msgGlobal" />




<p:dialog widgetVar="dlgFabExcluir" closable="false"  draggable="false" resizable="false"  modal="true" appendTo="@(body)"
header="Fabricante - Excluir">



	  <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>

Olha bem Eu n estou vendo onde vc abriu o componente <h:form id="frmFabNovo"> veja bem abre ele antes do :

<p:dialog id="fabnovo" widgetVar="dlgFabNovo" closable="false" draggable="false"
resizable="false" modal="true" appendTo="@(body)" header="Fabricante - Novo"> 

e fecha o </h:form> depois do </p:dialog>

<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"**/>
			</f:facet>
		</p:dataTable>
	</h:form>

**<h:form id="frmFabNovo">** 
    <p:dialog id="fabnovo" widgetVar="dlgFabNovo" closable="false" draggable="false"
    resizable="false" modal="true" appendTo="@(body)" header="Fabricante - Novo">

<p:commandButton value="Gravar" actionListener="#{MBFabricante.novo}" 
oncomplete="PF('dlgFabNovo').hide();" update=":frmFabListagem:tblFabricantes:msgGlobal" />




      <p:dialog widgetVar="dlgFabExcluir" closable="false"  draggable="false" resizable="false"  
    modal="true" appendTo="@(body)"
     header="Fabricante - Excluir">



	  <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>

	 

	    </p:dialog>
     **</h:form>**
</ui:define>

Esta é a forma que acredito que seja correta…

ta um ponto de exclamação nesta linha

<p:dialog id=“fabnovo” widgetVar=“dlgFabNovo” closable=“false” draggable=“false"
resizable=“false” modal=“true” appendTo=”@(body)" header=“Fabricante - Novo”>

<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"**/>
		</f:facet>
	</p:dataTable>
</h:form>

<h:form id=“frmFabNovo”>
<p:dialog id=“fabnovo” widgetVar=“dlgFabNovo” closable=“false” draggable=“false"
resizable=“false” modal=“true” appendTo=”@(body)" header=“Fabricante - Novo”>
<p:commandButton value=“Gravar” actionListener="#{MBFabricante.novo}“
oncomplete=“PF(‘dlgFabNovo’).hide();” update=”:frmFabListagem:tblFabricantes:msgGlobal" />

</p:dialog>
<p:dialog widgetVar=“dlgFabExcluir” closable=“false” draggable=“false” resizable=“false"
modal=“true” appendTo=”@(body)"
header=“Fabricante - Excluir”>

  <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>

 

    </p:dialog>
 </h:form>

</ui:define>
</ui:composition>

nesta linha ta um ponto de exclamação linha acima

ola modifiquei agora por ultimo esta assim

<?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"/>
		</f:facet>
	</p:dataTable>
</h:form>

<h:form id=“frmFabNovo”>
<p:dialog id=“fabnovo” widgetVar=“dlgFabNovo” closable=“false” draggable=“false"
resizable=“false” modal=“true” appendTo=”@(body)" header=“Fabricante - Novo”>

<p:commandButton value=“Gravar” actionListener="#{MBFabricante.novo}“
oncomplete=“PF(‘dlgFabNovo’).hide();” update=”:frmFabListagem:tblFabricantes:msgGlobal" />
</p:dialog>

  <p:dialog widgetVar="dlgFabExcluir" closable="false"  draggable="false" resizable="false"  
modal="true" appendTo="@(body)"
 header="Fabricante - Excluir">
  <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>
    </p:dialog>
 </h:form>

</ui:define>
</ui:composition>

erro

HTTP Status 500 - Error Parsing /pages/fabricante.xhtml: Error Traced[line: 54] O tipo de elemento p:dialog" deve ser encerrado pela tag final correspondente “</p:dialog>”.

type Exception report

message Error Parsing /pages/fabricante.xhtml: Error Traced[line: 54] O tipo de elemento p:dialog" deve ser encerrado pela tag final correspondente “</p:dialog>”.

description The server encountered an internal error that prevented it from fulfilling this request.

exception
javax.servlet.ServletException: Error Parsing /pages/fabricante.xhtml: Error Traced[line: 54] O tipo de elemento p:dialog" deve ser encerrado pela tag final correspondente “</p:dialog>”.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause

nao entendi este erro se todas as tags estao fechadas

acho que não está aqui não está fechada, olhe bem,

<p:dialog widgetVar="dlgFabExcluir" closable="false"  draggable="false" resizable="false"  
modal="true" appendTo="@(body)"
 header="Fabricante - Excluir">

Você abre 2 p:dialog e só fecha uma…

ja fechei porem volta o mesmo erro