Estou usando o rich:tabPanel na minha aplicação. Cada aba eu uso para cadastrar uma entidade especifica do sistema. A primeira aba cadastra a entidade sem problemas, mas da segunda em diante a submissão dos dados não chega nos manegedbens correspondentes, ou seja, não sai nem do browser.
Dei uma olhada na documentação do rich:tabpanel, mas não encontrei nenhuma restrição ao uso de “forms”.
Por favor, dê mais detalhe sobre essas rich:tabPanel, qual o tipo dela: ajax, server, client? Você tem um FORM para cada aba(Pelo menos foi o que entendi)?
Já tive problemas parecidos, resolvi colocando o swichType=“client”.
Uma dica coloque a tags no começo da sua página: (Somente no desenvolvimento, para achar bugs)
Uma coisa que você precisa cuidar é que a RichFaces tinha um bug em versões anteriores, onde se você renderizasse algo com ajax (um gridPanel, dataTable, etc.) os commandLink dentro do objeto que foi renderizado não funcionam.
Por exemplo, numa tela de consulta, onde você tem um campo para filtrar por nome e um a4j:commandButton que quando clicado chama a consulta do managedbean e usa uma tag reRender=“umDataTable”. Se houver algum commandLink dentro desse “umDataTable”, ele não ia funcionar depois de ser renderizado.
Um problema similar pode estar acontecendo no seu tabPanel que pelo que sei também usa ajax para renderizar cada tab.
Para resolver este problema, foi incluido a tag <a4j:form> que deve ser usada no lugar da <h:form>. Assim os commandLink passarão a funcionar normalmente.
De qualquer forma, coloque aqui o seu código para podermos ajudar melhor.
G
guimoz
Uma coisa que você precisa cuidar é que a RichFaces tinha um bug em versões anteriores, onde se você renderizasse algo com ajax (um gridPanel, dataTable, etc.) os commandLink dentro do objeto que foi renderizado não funcionam.
Por exemplo, numa tela de consulta, onde você tem um campo para filtrar por nome e um a4j:commandButton que quando clicado chama a consulta do managedbean e usa uma tag reRender=“umDataTable”. Se houver algum commandLink dentro desse “umDataTable”, ele não ia funcionar depois de ser renderizado.
Um problema similar pode estar acontecendo no seu tabPanel que pelo que sei também usa ajax para renderizar cada tab.
Para resolver este problema, foi incluido a tag a4j:form que deve ser usada no lugar da <h:form>. Assim os commandLink passarão a funcionar normalmente.
De qualquer forma, coloque aqui o seu código para podermos ajudar melhor.
pois é, mas em alguns casos, o a4j:form não ajuda, com as abas eu, particularmente, consegui fazer funcionar usando somente um form(h:form), justamente por problemas e submissao e de não rendereização de componentes na arvore do jsf, ocasionando null pointers a torto e a direito…
M
markinho
Coloca seu código aí para podermos analisar!
Como o TiagoW disse você deve usar a4j:form
Abraços
R
ricardo.tec
Pessoal,
Me desculpem, o problema estava entre o teclado e a cadeira.
É que existia um erro de programação numa classe converter de um dos forms, onde um dos metodos getAsObject retornava String ao invés da classe pretendida.
Então quando corrigi os forms funcionaram perfeitamente.
Respondendo o markinho estou usando swichType=“client”.
Então obrigado a todos pela ajuda!
felipe.sodre
Seguinte moçada tenho um div que contem um tab panel e cada aba, embaixo tenho outro div com uns botões quero que de acordo com o div selecionado determinados botões fiquem visiveis ou não.
Tem como fazer?
obrigado
G
gustavo_hmb
Amigos bom dia,
Eu estou com um problema parecido co o Tabpanel eu tenho vários tabs para um cadastro o problema é que o a4j:commandButton não executa o metodo de salvar do bean. segue abaixo o código.
Um coisa que observe foi que quando eu coloca somente uma tab ele grava perfeitamente, pessoal o que pode ser???
<%--Document:cadastroAlunoCreatedon:23/04/2012,22:40:47Author:Gustavo--%><%@pagelanguage="java"contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@taglibprefix="f"uri="http://java.sun.com/jsf/core"%><%@taglibprefix="h"uri="http://java.sun.com/jsf/html"%><%@tagliburi="http://richfaces.org/a4j"prefix="a4j"%><%@tagliburi="http://richfaces.org/rich"prefix="rich"%><%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Cadastro de Aluno</title><linkrel="stylesheet"type="text/css"href="../css/estilo.css"></head><f:view><body><h:formid="frm"styleClass="formulario"rendered="true"><h1><h:outputTextvalue="Cadastro de alunos"/></h1><h:messageslayout="table"showSummary="true"showDetail="false"globalOnly="true"styleClass="msgErro"infoClass="msgInfo"style="font-weight: bold"/><rich:tabPanelwidth="100%"><rich:tablabel="Dados Gerais"switchType="client"rendered="true"><h:panelGridstyle="text-align: left"columns="2"><h:panelGroupstyle="text-align: left"><h:outputLabelvalue="Código: "/><h:inputTextid="codigo"size="10"value="#{CadastroAlunoBean.alunoEdicao.cd_aluno}"label="Código do aluno"disabled="true"/><h:messagefor="codigo"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Nome: "/><h:inputTextid="nomeAluno"size="80"maxlength="150"value="#{CadastroAlunoBean.alunoEdicao.nome}"required="true"label="Nome do Aluno"/><h:messagefor="nomeAluno"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue=" Data Nascimento: "/><rich:calendarid="dtNascimento"inputSize="12"datePattern="dd/MM/yyyy"enableManualInput="true"value="#{CadastroAlunoBean.alunoEdicao.dt_nascimento}"required="true"label="Data nascimento"/><h:messagefor="dtNascimento"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="CPF/CNPJ: "/><h:inputTextid="cnpjcpf"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.cnpj_cpf}"required="true"label="CPF/CNPJ"></h:inputText><h:messagefor="cnpjcpf"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="RG : "/><h:inputTextid="rg"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.rg}"required="true"label="RG"></h:inputText><h:messagefor="rg"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Orgão Emissor : "/><h:inputTextid="OrgEmiss"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.rg_orgao}"required="true"label="Orgão Emissor"></h:inputText><h:messagefor="OrgEmiss"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Nome do Pai : "/><h:inputTextid="NomPai"size="80"maxlength="80"value="#{CadastroAlunoBean.alunoEdicao.filiacao_pai}"required="true"label="Nome do Pai"></h:inputText><h:messagefor="NomPai"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Estado Civil : "/><h:selectOneMenuid="EstCivil"value="#{CadastroAlunoBean.alunoEdicao.estado_civil}"label="EstCivil"required="true"><f:selectItemsvalue="#{CadastroAlunoBean.estados_civil}"var="e"itemLabel="#{e.descricao}"itemValue="#{e.codigo}"/></h:selectOneMenu><h:messagefor="EstCivil"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Nome da Mãe : "/><h:inputTextid="NomMae"size="80"maxlength="80"value="#{CadastroAlunoBean.alunoEdicao.filiacao_mae}"required="true"label="Nome da Mãe"></h:inputText><h:messagefor="NomMae"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Status do aluno : "/><h:selectOneMenuid="StatusAlu"value="#{CadastroAlunoBean.alunoEdicao.cd_status }"label="StatusAlu"required="true"><f:selectItemsvalue="#{CadastroAlunoBean.status_aluno}"var="s"itemLabel="#{s.descricao}"itemValue="#{s.cd_status}"/></h:selectOneMenu><h:messagefor="StatusAlu"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Naturalidade : "/><h:inputTextid="natural"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.naturalidade}"required="true"label="Naturalidade"></h:inputText><br><br><h:outputLabelvalue="Nacionalidade : "/><h:inputTextid="nacional"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.nacionalidade}"required="true"label="Nacionalidade"></h:inputText></h:panelGroup></h:panelGrid></rich:tab><rich:tablabel="Endereço"switchType="client"><h:panelGridstyle="text-align: left"columns="2"><h:panelGroupstyle="text-align: left"><h:outputLabelvalue="CEP : "/><h:inputTextid="cep"size="14"maxlength="10"value="#{CadastroAlunoBean.alunoEdicao.cep}"required="true"label="Nacionalidade"validatorMessage="O valor informado não obedece ao padrão definido"><f:validateRegexpattern="(^[0-9]{2}\.?[0-9]{3}-{1}[0-9]{3})"/></h:inputText><br><br><h:outputLabelvalue="Endereço : "/><h:inputTextid="endereco"size="80"maxlength="200"value="#{CadastroAlunoBean.alunoEdicao.endereco}"required="true"label="Endereço"></h:inputText><br><br><h:outputLabelvalue="Bairro : "/><h:inputTextid="bairro"size="50"maxlength="60"value="#{CadastroAlunoBean.alunoEdicao.bairro}"required="true"label="Bairro"></h:inputText><br><br><h:outputLabelvalue="Complemento : "/><h:inputTextid="complemento"size="80"maxlength="200"value="#{CadastroAlunoBean.alunoEdicao.complemento}"required="true"label="Complemento"></h:inputText><br><br><h:outputLabelvalue="Cidade : "/><h:inputTextid="cidade"size="50"maxlength="60"value="#{CadastroAlunoBean.alunoEdicao.cidade}"required="true"label="Cidade"></h:inputText><br><br><h:outputLabelvalue="Estado : "/><h:selectOneMenuid="Estado"value="#{CadastroAlunoBean.alunoEdicao.estado }"label="EstCivil"required="true"><f:selectItemsvalue="#{CadastroAlunoBean.estado}"/></h:selectOneMenu><h:messagefor="Estado"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup></h:panelGrid></rich:tab><rich:tablabel="Endereço de Cobrança"switchType="client"><h:panelGridstyle="text-align: left"columns="2"><h:panelGroupstyle="text-align: left"><h:outputLabelvalue="CEP : "/><h:inputTextid="cep_cob"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.cob_cep }"required="true"label="CEP"validatorMessage="O valor informado não obedece ao padrão definido"><f:validateRegexpattern="(^[0-9]{2}\.?[0-9]{3}-{1}[0-9]{3})"/></h:inputText><br><br><h:outputLabelvalue="Endereço : "/><h:inputTextid="endereco_cob"size="80"maxlength="200"value="#{CadastroAlunoBean.alunoEdicao.cob_endereco}"required="true"label="Endereço"></h:inputText><br><br><h:outputLabelvalue="Bairro : "/><h:inputTextid="bairro_cob"size="50"maxlength="60"value="#{CadastroAlunoBean.alunoEdicao.cob_bairro}"required="true"label="Bairro"></h:inputText><br><br><h:outputLabelvalue="Complemento : "/><h:inputTextid="complemento_cob"size="80"maxlength="200"value="#{CadastroAlunoBean.alunoEdicao.cob_complemento}"required="true"label="Complemento"></h:inputText><br><br><h:outputLabelvalue="Cidade : "/><h:inputTextid="cidade_cob"size="50"maxlength="60"value="#{CadastroAlunoBean.alunoEdicao.cob_cidade}"required="true"label="Cidade"></h:inputText><br><br><h:outputLabelvalue="Estado : "/><h:selectOneMenuid="Estado_cob"value="#{CadastroAlunoBean.alunoEdicao.cob_estado }"label="EstCivil"required="true"><f:selectItemsvalue="#{CadastroAlunoBean.estado}"/></h:selectOneMenu><h:messagefor="Estado"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup></h:panelGrid></rich:tab><rich:tablabel="Contatos"switchType="client"><h:panelGridstyle="text-align: left"columns="2"><h:panelGroupstyle="text-align: left"><h:outputLabelvalue="Telefone : "/><h:inputTextid="telefone"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.telefone1}"required="true"label="Telefone"></h:inputText><br><br><h:outputLabelvalue="Site : "/><h:inputTextid="site"size="80"maxlength="100"value="#{CadastroAlunoBean.alunoEdicao.site}"required="true"label="Site"></h:inputText><br><br><h:outputLabelvalue="Telefone : "/><h:inputTextid="telefone2"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.telefone2}"required="true"label="Telefone"></h:inputText><br><br><h:outputLabelvalue="Email : "/><h:inputTextid="email"size="80"maxlength="100"value="#{CadastroAlunoBean.alunoEdicao.email}"required="true"label="Email"></h:inputText><br><br><h:outputLabelvalue="Telefone : "/><h:inputTextid="telefone3"size="14"maxlength="14"value="#{CadastroAlunoBean.alunoEdicao.telefone3}"required="true"label="Telefone"></h:inputText></h:panelGroup></h:panelGrid></rich:tab><rich:tablabel="Cursos"switchType="client"><h:panelGridstyle="text-align: left"columns="2"><h:panelGroupstyle="text-align: left"><h:outputLabelvalue="Data Desistência : "/><rich:calendarid="dtDesistencia"inputSize="12"datePattern="dd/MM/yyyy"enableManualInput="true"value="#{CadastroAlunoBean.alunoEdicao.dt_desistencia}"required="false"label="Data Desistência"/><h:messagefor="dtDesistencia"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Data Trancamento : "/><rich:calendarid="dtTrancamento"inputSize="12"datePattern="dd/MM/yyyy"enableManualInput="true"value="#{CadastroAlunoBean.alunoEdicao.dt_trancamento}"required="false"label="Data Trancamento"/><h:messagefor="dtTrancamento"showSummary="true"showDetail="false"styleClass="msgErro"/><br><br><h:outputLabelvalue="Data Conclusão Curso : "/><rich:calendarid="dtConclusaoCurso"inputSize="12"datePattern="dd/MM/yyyy"enableManualInput="true"value="#{CadastroAlunoBean.alunoEdicao.dt_conclusao_curso}"required="false"label="Data Conclusão Curso"/><h:messagefor="dtConclusaoCurso"showSummary="true"showDetail="false"styleClass="msgErro"/></h:panelGroup></h:panelGrid></rich:tab><rich:tablabel="Documentos"switchType="client"><h:panelGridstyle="text-align: left-top"columns="4"><h:outputLabelvalue="Documento : "/><h:selectOneMenuid="documento"value="#{CadastroAlunoBean.alunoEdicao.documentos }"label="documento"required="false"><f:selectItemsvalue="#{CadastroAlunoBean.lsttipo_documento}"/></h:selectOneMenu><br><br><rich:dataTablerows="10"id="tab"value="#{CadastroAlunoBean.alunoEdicao.documentos}"var="item"width="400px"><rich:columnstyle="text-aling: center"><f:facetname="header"><h:outputTextvalue="Documentos"/></f:facet><h:outputTextvalue="#{item.nome}"/></rich:column></rich:dataTable></h:panelGrid></rich:tab><rich:tablabel="Observação"switchType="client"><h:panelGridstyle="text-align: left-top"columns="2"><h:outputLabelvalue="Observação : "/><h:panelGroupstyle="text-align: left-top"><h:inputTextareaid="observacao"value="#{CadastroAlunoBean.alunoEdicao.observacao}"required="true"label="Observação"rows="10"cols="60"></h:inputTextarea></h:panelGroup></h:panelGrid></rich:tab></rich:tabPanel><!------ Botões -----><h:panelGroup><a4j:commandButtonvalue="Salvar"actionListener="#{CadastroAlunoBean.salvar}"reRender="frm"type="submit"/><a4j:commandButtonvalue="Cancelar"action="menu"immediate="true"/></h:panelGroup></h:form></body></f:view></html>