Erro de ajax

16 respostas
postgresqlprogramaçãojsfjava
D

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();

}*/

/<em>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();

}</em>/
/*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)

16 Respostas

D

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.

D

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

D

sou iniciante

C

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.

D

nao deu, deu mesm msg

C

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”

D

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>

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

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

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

D

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

D

<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

D

D

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

C

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…

D

ja fechei porem volta o mesmo erro

Criado 20 de julho de 2017
Ultima resposta 22 de jul. de 2017
Respostas 16
Participantes 3