Boa noite galera, estou precisando da ajuda de vocês, urgente.
Bom, tenho um index.xhtml que chama outra pagina xhtml e abre apenas o dialog, esse dialog chama outra pagina xhtml e chama outro dialog(rsrs). Então clico no botão salvar e ele simplismente não faz nada. Vou mandar o codigo para vocês.
index.xtml:
<?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"
xmlns:ui="http://java.sun.com/jsf/facelets">
<h:head>
<title> Sistema Geral</title>
</h:head>
<h:form>
<p:menu type="tiered" position="butom" style="width: 180px">
<p:submenu label="Cadastro" >
<p:menuitem value="País" onclick="dlgGERSRPAI.show()" />
</p:submenu>
</p:menu>
<ui:include src="paginas/GERAL/GERSRPAI.xhtml" />
</h:form>
</html>
GERSRPAI.xhtml:
<?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"
xmlns:ui="http://java.sun.com/jsf/facelets">
<ui:composition>
<ui:include src="GERPRPAI.xhtml" />
<h:form id="frmGERSRPAI">
<p:dialog header="Países cadastrados" widgetVar="dlgGERSRPAI" width="570" height="400" minimizable="true" closable="false"
resizable="false">
<p:commandLink >
<p:graphicImage value="/imagens/novo.png" onclick="dlgGERPRPAI.show()" style="border: none;" update="dlgGERPRPAI"/>
</p:commandLink>
<p:commandLink >
<p:graphicImage value="/imagens/editar.png" style="border: none;"/>
</p:commandLink>
<p:commandLink >
<p:graphicImage value="/imagens/excluir.png" style="border: none;"/>
</p:commandLink>
<p:commandLink >
<p:graphicImage value="/imagens/relatorio.png" style="border: none;"/>
</p:commandLink>
<p:commandLink >
<p:graphicImage value="/imagens/fechar.png" onclick="dlgGERSRPAI.hide()" style="border: none;"/>
</p:commandLink>
</p:dialog>
</h:form>
</ui:composition>
</html>
GERPRPAI.xhtml
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!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"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
</head>
<p:dialog header="Países cadastrados" widgetVar="dlgGERPRPAI" width="570" minimizable="true" closable="false"
resizable="false">
<h:panelGrid columns="1">
<h:outputText value="Código"/>
<p:inputText value="#{beanGERTBPAI.GERTBPAI.GER_PK_COD_PAI}" style="width: 50px" disabled="true"/>
<p:separator style="width: 530px"/>
<h:outputText value="Nome"/>
<p:inputText value="#{beanGERTBPAI.GERTBPAI.GER_NOME_PAI}"/>
</h:panelGrid>
<center>
<p:commandButton value="Salvar" type="submit" actionListener="#{beanGERTBPAI.salvar}" />
<p:commandButton value="Cancelar" onclick="dlgGERPRPAI.hide()" />
</center>
</p:dialog>
</html>
Quando abro o ultimo dialog ele não executa o metodo salvar. Por que ?
Abraços.
alexfe
Abril 26, 2012, 9:45am
#2
Conseguiu resolver o problema ??? estou passando pelo mesmo problema meu p:dialog não chama o metodo no ManagedBean
Resolveu ???
seu bean esta com anotação de managed Bean e escopo?
@ManagedBean
@SessionScoped
public class meuBean implements Serializable {
Coloca seu panelGrid e seus botões dentro de um form.
alexfe
Abril 26, 2012, 6:00pm
#5
[quote=rmaragno]seu bean esta com anotação de managed Bean e escopo?
@ManagedBean
@SessionScoped
public class meuBean implements Serializable {
[/quote]
Meu ManageBean está exatamente desta forma ai que vc citou
alexfe
Abril 26, 2012, 6:01pm
#6
Tentei coloca-los dentro de um Form mas também não deu certo
Posta seu managed bean e sua página.
alexfe
Abril 26, 2012, 6:51pm
#8
[code]@ManagedBean (name = “pessoaJuridicaBeanView”)
@Component
@ViewScoped
public class PessoaJuridicaBeanView implements ActionViewPadrao, Serializable {
private static final long serialVersionUID = 1L;
private PessoaJuridica pessoaJuridica;
private Boolean skip = false;
private String nomeCidade;
private List<Cidade> cidades = new ArrayList<Cidade>();
@Resource
private CidadeController cidadeController;
public void findCityByName() {
if (getNomeCidade() != null && !getNomeCidade().isEmpty()) {
setCidades(getCidadeController().findCityByName(getNomeCidade()));
}
}
public String getNomeCidade() {
return nomeCidade;
}
public void setNomeCidade(String nomeCidade) {
this.nomeCidade = nomeCidade;
}
public List<Cidade> getCidades() {
return cidades;
}
public void setCidades(List<Cidade> cidades) {
this.cidades = cidades;
}
public CidadeController getCidadeController() {
return cidadeController;
}
public void setCidadeController(CidadeController cidadeController) {
this.cidadeController = cidadeController;
}
public PessoaJuridicaBeanView() {
pessoaJuridica = new PessoaJuridica();
}[/code]
[code]
<ui:composition template="/templates/templatePrincipal.xhtml">
<ui:define name=“corpo”>
<h:form id=“formPessoaJuridica”>
<p:wizard widgetVar=“wiz” id=“wizardPessoaJuridica”
flowListener="#{pessoaJuridicaBeanView.onFlowProcess}">
<p:tab title=“Pessoa Jurídica”>
<p:panel header="Dados Pessoais" id="panelDadosPj">
<p:messages showDetail="true" id="error" redisplay="true" />
<h:panelGrid columns="2" id="gridPessoaJuridica">
<h:outputLabel for="id" value="Código : " id="labelIdPj" />
<p:inputText id="id" styleClass="estiloIdCastro"
value="#{pessoaJuridicaBeanView.pessoaJuridica.id}"
disabled="true" />
<h:outputLabel for="nome" value="Nome * : " id="nomePj" />
<p:inputText id="nome" maxlength="80"
value="#{pessoaJuridicaBeanView.pessoaJuridica.nome}"
required="true" requiredMessage="Informe o nome."
styleClass="estyleInputName" />
<h:outputLabel for="sexo" value="Sexo * :" id="labelSexoPf" />
<p:selectOneMenu id="sexo" styleClass="styleComboBox"
value="#{pessoaJuridicaBeanView.pessoaJuridica.sexo}"
required="true" requiredMessage="Informe o campo sexo.">
<f:selectItem itemValue="" itemLabel="[Selecione]" />
<f:selectItem itemValue="Masculino" itemLabel="Masculino" />
<f:selectItem itemValue="Feminino" itemLabel="Feminino" />
</p:selectOneMenu>
<h:outputLabel value="Email :" for="email" />
<p:inputText id="email" maxlength="50"
value="#{pessoaJuridicaBeanView.pessoaJuridica.email}"
required="false" styleClass="estyleInputName">
<f:validateRegex pattern="[a-zA-Z0-9\-\_\.]+@[a-zA-Z0-9\-\_\.]+" />
</p:inputText>
<h:outputLabel value="Ativo :" for="ativo" />
<p:selectBooleanCheckbox id="ativo"
value="#{pessoaJuridicaBeanView.pessoaJuridica.ativo}" />
</h:panelGrid>
</p:panel>
</p:tab>
<p:tab title="Dados Jurídicos">
<p:panel header="Dados" id="panelDadosJuridicos">
<h:panelGrid columns="2" columnClasses="label, value"
id="gridDadosJuridico">
<h:outputLabel for="cnpj" value="CNPJ * :" />
<p:inputMask mask="99.999.999/9999-99" id="cnpj"
value="#{pessoaJuridicaBeanView.pessoaJuridica.cnpj}"
required="true" requiredMessage="Informe o Cnpj." />
<h:outputLabel for="inscEstadual" value="Incrição Estadual * :" />
<p:inputText id="inscEstadual"
value="#{pessoaJuridicaBeanView.pessoaJuridica.inscEstadual}"
required="true" requiredMessage="Informe a Inscrição Estadual." />
<h:outputLabel for="razaoSocial}" value="Razão Social * :" />
<p:inputText id="razaoSocial"
value="#{pessoaJuridicaBeanView.pessoaJuridica.razaoSocial}"
required="true" requiredMessage="Informe a Razão Social." />
<h:outputLabel for="nomeFantasia" value="Incrição Estadual * :" />
<p:inputText id="nomeFantasia"
value="#{pessoaJuridicaBeanView.pessoaJuridica.nomeFantasia}"
required="true" requiredMessage="Informe o Nome Fantasia." />
</h:panelGrid>
</p:panel>
</p:tab>
<p:tab title="Endereço">
<p:panel header="Endereço" id="panelEndereco">
<p:panelGrid columns="3" columnClasses="label, value"
id="gripEndereco">
<h:outputLabel for="cidade" value="Cidade * :" id="labelCidade" />
<p:inputText id="cidade" required="true"
requiredMessage="Informe a Cidade." disabled="true"
value="#{pessoaJuridicaBeanView.pessoaJuridica.endereco}" />
<p:commandButton value="Pesquisar" update="formDialogFindCidade"
oncomplete="dialogCidade.show()" />
</p:panelGrid>
</p:panel>
</p:tab>
</p:wizard>
<p:dialog widgetVar="dialogCidade" modal="false" id="dialoFindCidade" header="Consulta de Cidades"
resizable="false">
<h:form id="formDialogFindCidade" onsubmit="true">
<h:panelGrid id="gridCidade" columns="3">
<h:outputLabel id="labelNomeConsultaCidade" for="cidadeNome"
value="Nome * :" />
<p:inputText id="cidadeNome"
value="#{pessoaJuridicaBeanView.nomeCidade}" required="true"
immediate="true"
requiredMessage="Informe o nome da cidade para consulta." />
<p:commandButton id="pesquisarCidade" value="Pesquisar"
ajax="true" update="tableCidadeFind"
action="#{pessoaJuridicaBeanView.findCityByName}" />
</h:panelGrid>
<p:dataTable value="#{pessoaJuridicaBeanView.cidades}" var="cidade"
id="tableCidadeFind" paginatorPosition="bottom" paginator="true"
paginatorTemplate=" {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,20,30">
<p:column>
<center>
<f:facet name="header">Nome</f:facet>
<h:outputText value="#{cidade.nome}" />
</center>
</p:column>
</p:dataTable>
</h:form>
</p:dialog>
</h:form>
</ui:define>
</ui:composition>
[/code]
o Dialog está aqui no final
alexfe
Abril 26, 2012, 7:02pm
#9
Agora consegui chamar o metódo usando h:commandButton do JSF , com o commandButton do primeFaces não consegui, mas surgiu outro problema o valor do inputTextField que está no dialog não é setado para o ManagedBean.
Se eu fosse você, eu usaria um actionListener ao invés de uma action.
Faz um teste. Não esqueça de alterar o método findCityByName() para findCityByName(ActionEvent event) .
alexfe
Abril 26, 2012, 7:33pm
#11
[quote=henriquejhc]Se eu fosse você, eu usaria um actionListener ao invés de uma action.
Faz um teste. Não esqueça de alterar o método findCityByName() para findCityByName(ActionEvent event) .[/quote]
Tentei fazer desta forma mas também não funciona
Desde o começo esse errro é jogado no console
org.apache.tomcat.util.http.Parameters processParameters
Informações: Parameters: Invalid chunk '' ignored.
alexfe
Abril 27, 2012, 1:44pm
#14
O código ficou o mesmo que eu postei lá em cima. Acontece que eu cometi um grande e bobo erro e demorei para reparar.
Todo esse problema foi causado porque eu esqueci de declarar o pacote do backbean no contexto do SpringFramework para ele gerenciar.