No site da primefaces, vi este exemplo: https://www.primefaces.org/showcase/ui/df/basic.xhtml, mas no meu caso não funciona. o que pode ser ?
Meu commandButton:
<p:commandButton id="cmdBtnAuditoria" icon="ui-icon-circle-zoomout" title="Visualizar auditoria"
actionListener="#{auditoriaBean.visualizarAuditoria}"/>
Metodo no java
public void visualizarAuditoria() {
Map<String, Object> options = new HashMap<String, Object>();
options.put("modal", true);
options.put("width", 640);
options.put("height", 340);
options.put("contentWidth", "100%");
options.put("contentHeight", "100%");
options.put("headerElement", "customheader");
RequestContext.getCurrentInstance().openDialog("auditoriaInformacaoResolucaoPopUp", options,
null);
}
Guilherme,
Por favor posta o codigo da sua view: auditoriaInformacaoResolucaoPopUp e posta também a mensagem que dá no console do java.
Creio o codigo que você postou esta certo sintaticamente, porém precisamos investigar as demais partes do codigo.
@andrebmarinho, o código é bem simples.
Não mostra mensagem no console.
<!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://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:body>
<i id="customheader" class="fa fa-fw fa-car" style="display: none"></i>
<p:dataTable>
<p:column headerText="Campo">
<h:outputText value="d6aa7640" />
</p:column>
<p:column headerText="Valor Anterior (De)">
<h:outputText value="1997" />
</p:column>
<p:column headerText="Valor Atual (Para)">
<h:outputText value="White" />
</p:column>
</p:dataTable>
</h:body>
</html>
Qual é exatamente o nome do seu arquivo xhtml?
auditoriaInformacaoResolucaoPopUp.xhtml
Guilherme,
Vou postar aqui um codigo esta rodando em um sistema que desenvolvi e funciona muito bem. Basicamente é a mesma coisa que você quer, mas a sintaxe é um pouco diferente.
<h:form id=“fr_os”>
<p:outputLabel style="font-size:12px;" value="Incluir Produto: "/>
<p:commandButton style="font-size:12px;" icon="ui-icon-search" title="Adcionar Produto" action="#{ordemServicoBean.abrirDialogoProduto}"
process="@this" update="@none">
<p:ajax event="dialogReturn" listener="#{ordemServicoBean.produtoSelecionado}" update="fr_os"></p:ajax>
</p:commandButton>
</h:form>
Classe java bean
public void abrirDialogoProduto(){
Map<String, Object> opcoes = new HashMap<>();
opcoes.put(“modal”, true);
opcoes.put(“resizable”, false);
opcoes.put(“contentHeight”, 350);
opcoes.put(“contentWidth”, 800);
RequestContext.getCurrentInstance().openDialog("selecaoproduto", opcoes, null);
}
No seu exemplo e de uso update=“fr_os”, fr_os é o nome do formulário ?
Fiz assim:
<p:outputLabel style="font-size:12px;" value="Incluir Produto: "/>
<p:commandButton style="font-size:12px;" icon="ui-icon-search"
title="Visualizar auditoria"
action="#{redeCuidarResolucaoAuditoriaBean.visualizarAuditoria}"
process="@this" update="@none">
<p:ajax event="dialogReturn"
listener="#{redeCuidarResolucaoAuditoriaBean.resolucaoRedeCuidarAuditoria}"
update="frmAuditoriaRedeCuidarTab"></p:ajax>
</p:commandButton>
Mas erro no console:
GRAVE: org.primefaces.expression.ComponentNotFoundException: Cannot find component for expression "frmAuditoriaRedeCuidarTab" referenced from "j_idt83:frmAuditoriaRedeCuidarTab:dtTblListaAuditoriaRedeCuidarRedeCuidar:0:j_idt131".
at org.primefaces.expression.SearchExpressionFacade.cannotFindComponent(SearchExpressionFacade.java:677)
at org.primefaces.expression.SearchExpressionFacade.resolveComponentById(SearchExpressionFacade.java:493)
at org.primefaces.expression.SearchExpressionFacade.resolveClientIds(SearchExpressionFacade.java:258)
at org.primefaces.util.AjaxRequestBuilder.addExpressions(AjaxRequestBuilder.java:92)
at org.primefaces.util.AjaxRequestBuilder.update(AjaxRequestBuilder.java:85)
at org.primefaces.behavior.ajax.AjaxBehaviorRenderer.getScript(AjaxBehaviorRenderer.java:85)
at javax.faces.component.behavior.ClientBehaviorBase.getScript(ClientBehaviorBase.java:103)
at org.primefaces.renderkit.CoreRenderer.encodeClientBehaviors(CoreRenderer.java:514)
at org.primefaces.component.commandbutton.CommandButtonRenderer.encodeScript(CommandButtonRenderer.java:154)
at org.primefaces.component.commandbutton.CommandButtonRenderer.encodeEnd(CommandButtonRenderer.java:55)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
at org.primefaces.component.column.Column.renderChildren(Column.java:352)
at org.primefaces.component.datatable.DataTableRenderer.encodeCell(DataTableRenderer.java:1051)
at org.primefaces.component.datatable.DataTableRenderer.encodeRow(DataTableRenderer.java:999)
at org.primefaces.component.datatable.DataTableRenderer.encodeRows(DataTableRenderer.java:907)
at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:854)
at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:814)
at org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:290)
at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:252)
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:87)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1863)
at javax.faces.render.Renderer.encodeChildren(Renderer.java:176)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at org.primefaces.component.tabview.TabViewRenderer.encodeTabContent(TabViewRenderer.java:313)
at org.primefaces.component.tabview.TabViewRenderer.encodeContents(TabViewRenderer.java:271)
at org.primefaces.component.tabview.TabViewRenderer.encodeMarkup(TabViewRenderer.java:132)
at org.primefaces.component.tabview.TabViewRenderer.encodeEnd(TabViewRenderer.java:71)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:919)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:312)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:304)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:114)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:889)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at com.sun.faces.context.PartialViewContextImpl.renderAll(PartialViewContextImpl.java:455)
at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:313)
at org.primefaces.context.PrimePartialViewContext.processPartial(PrimePartialViewContext.java:57)
at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:1004)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1856)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:430)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:100)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at br.gov.prodemge.sigcon.filter.SessionFilter.doFilter(SessionFilter.java:57)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
vc esqueceu do parenteses da função
auditoriaBean.visualizarAuditoria()
e pq vc tem um ajax no seu commandButton?
Fiz o que o @andrebmarinho disse com o exemplo dele que funciona.
Mas o dele não tem o ()
Sim o fr_os é referente a um formulário. O problema que esta aparecendo pra você agora é que você esta pedindo pra atualizar um componente de nome: frmAuditoriaRedeCuidarTab e o sistema não esta encontrando, porém vejo que você pode até remover esse atualização de componente para podermos evoluir com os testes, pois pelo que você relatou inicialmente o problema é que não esta nem abrindo o DIALOG.
na sua função visualizarAuditoria() ao final dela adicione:
RequestContext.getCurrentInstance().execute("PF('widgetVar do Dialog').show();");
isso para primefaces depois da versão 4 se for inferior vc faz assim:
RequestContext.getCurrentInstance().execute(“widgetVar do Dialog.show();”);[quote=“guilhermebhte, post:9, topic:356821”]
Mas o dele não tem o ()
[/quote]
o primefaces aceita apenas funções de eventos sem os ()
Não mostra o erro, mas continua sem abrir o dialog.
Mas o exemplo que está no site, está de outro jeito.
https://www.primefaces.org/showcase/ui/df/basic.xhtml
Não estou utilizando <p:dialog
então siga o exemplo do site q com certeza dará certo…
Pois é.
Segui mas não funciona de jeito nenhum, por isto abri aqui no fórum