Boa tarde.
É possível usar uma página externa em um <p:dialog /> ?
Eu quero fazer uma tela de cadastro dentro desse dialog, como se fosse um FancyBox ou SexyLightBox, por exemplo.
Ao clicar no botão “Inserir”, abriria uma tela cadastro.xhtml.
Att.
Dentro do p:dialog que abre ao clicar em “Inserir”, coloque:
<ui:define name="content">
<ui:include src=".../cadastro.xhtml"/>
</ui:define>
vc sabe pq o seguinte dialog nao funciona??
<!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:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<link type="text/css" rel="stylesheet"
href="#{request.contextPath}/resources/css/fontes.css" />
<link type="text/css" rel="stylesheet"
href="#{request.contextPath}/resources/css/estilo.css" />
</h:head>
<ui:composition template="/WEB-INF/templates/template.xhtml">
<ui:define name="content">
<h:form>
<p:commandButton id="TesteButton" value="TesteButton" onclick="dlg1.show();" type="button" />
.
.
.
</h:form>
<p:dialog id="basicDialog" header="Basic Dialog" widgetVar="dlg1">
<h:outputText value="Resistance to PrimeFaces is futile!" />
</p:dialog>
</ui:define>
</ui:composition>
</html>
O dialog não deveria ficar antes do </h:form>?
coloquei antes do </h:form> mas ainda não rolou…
Testa assim (Tinha errado uma coisa e editei)
[code]
<h:head>
<h:form>
<ui:composition template="/WEB-INF/templates/template.xhtml">
<ui:define name=“content”>
<p:commandButton id="TesteButton" value="TesteButton" onclick="dlg1.show();" type="button" />
<p:dialog id="basicDialog" header="Basic Dialog" widgetVar="dlg1">
<h:outputText value="Resistance to PrimeFaces is futile!" />
</p:dialog>
</ui:define>
</ui:composition>
</h:form>
[/code]
ainda nao… ;S
será que eh algum problema no template ?
Por que nesse exemplo funciona?
<?xml version='1.0' encoding='UTF-8' ?>
<!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:p="http://primefaces.org/ui">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
<h:form id="mainForm" styleClass="mainForm" prependId="false">
<h:panelGrid columns="1" cellpadding="5">
<p:commandButton value="Basic" onclick="dlg1.show();" type="button" />
<p:commandButton value="Modal" onclick="dlg2.show();" type="button" />
<p:commandButton value="Effects" onclick="dlg3.show();" type="button" />
</h:panelGrid>
<p:dialog header="Basic Dialog" widgetVar="dlg1">
<h:outputText value="Resistance to PrimeFaces is futile!" />
</p:dialog>
<p:dialog header="Modal Dialog" widgetVar="dlg2" modal="true"
height="200">
<h:outputText value="This is a Modal Dialog." />
</p:dialog>
<p:dialog header="Effect Dialog" widgetVar="dlg3" showEffect="bounce"
hideEffect="explode" height="200">
<h:outputText value="This dialog has cool effects." />
</p:dialog>
</h:form>
</h:body>
</html>
Consegui resolver esse problema? estou tendo o mesmo, pode me ajudar?
Por favor, não usem include. Procure por composite components em JSF, no Netbeans é muito simples de se fazer.
Veja o link abaixo:
Componentes Customizados no JSF | Collins Daniel
é a solução mais elegante.