Duvida JSF + Richfaces [RESOLVIDO]

12 respostas
W

Estou estudando Richfaces e estou com alguns problemas, estou tentando fazer um simples CRUD, tenho um banco MySQL e estou usando Hibernate. Eu já consigo lista o conteúdo da tabela Empresa em uma dataTable, ai coloquei dois links nas linhas, um para excluir o registro e outro para alterar, a exclusão também está funcionando sem problemas, mas para a edição não está funcionando.

Quando eu clico em editar ele abre o conteúdo do registro em um popupPanel com um a4j:commandButton para salvar, o problema que ele não salva. Segue abaixo o meu codigo.

dataTable

<rich:dataTable value="#{empresaController.todasEmpresas}" var="empresa" iterationStatusVar="it" id="table" rows="15" rowClasses="odd-row, even-row" styleClass="stable">
                    <h:inputHidden value="#{empresa.idEmpresa}" />
                    <rich:column>
                        <f:facet name="header">#</f:facet>
                        #{it.index+1}
                    </rich:column>
                    <rich:column>
                        <f:facet name="header">Razão Social</f:facet>
                        <h:outputText value="#{empresa.razaoSocial}" />
                    </rich:column>
                    <rich:column>
                        <f:facet name="header">Fantasia</f:facet>
                        <h:outputText value="#{empresa.fantasia}" />
                    </rich:column>
                    <rich:column>
                        <f:facet name="header">CGC</f:facet>
                        <h:outputText value="#{empresa.cgc}" />
                    </rich:column>
                    <rich:column>
                        <f:facet name="header">Status</f:facet>
                        <h:outputText value="#{empresa.status}" />
                    </rich:column>
                    <rich:column>
                        <f:facet name="header">Tipo de Empresa</f:facet>
                        <h:outputText value="#{empresa.tipoEmpresa}" />
                    </rich:column>
                    <rich:column>
                        <f:facet name="header">Ações</f:facet>
                        <a4j:commandLink styleClass="no-decor" execute="@this" render="@none"
                                         oncomplete="#{rich:component('confirmPane')}.show()">
                            <h:graphicImage value="/images/icons/delete.gif" alt="delete" />
                            <a4j:param value="#{empresa.idEmpresa}" assignTo="#{empresaController.currentEmpresaIndex}" />
                        </a4j:commandLink>
                        <a4j:commandLink styleClass="no-decor" render="editGrid" execute="@this" oncomplete="#{rich:component('editPane')}.show()">
                            <h:graphicImage value="/images/icons/edit.gif" alt="edit" />
                            <a4j:param value="#{empresa.idEmpresa}" assignTo="#{empresaController.currentEmpresaIndex}" /> 
                            <f:setPropertyActionListener target="#{empresaController.empresaSelecionada}" value="#{empresa}" />
                        </a4j:commandLink>
                    </rich:column>
                    <f:facet name="footer">
                        <rich:dataScroller page="#{empresaController.page}" />
                    </f:facet>
                </rich:dataTable>

popupPanel

<rich:popupPanel header="Alterar Empresa" id="editPane" autosized="true" width="400" height="200">
                    <h:panelGrid columns="3" id="editGrid">
                        <h:inputHidden value="#{empresaController.empresaSelecionada.idEmpresa}" />
                        <h:outputText value="Razao Social" style="font-size: 11px; font-weight: bold" />
                        <h:inputText value="#{empresaController.empresaSelecionada.razaoSocial}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado a Razão Social da Empresa"/>
                        <h:panelGroup />
                        <h:outputText value="Fantasia" style="font-size: 11px; font-weight: bold" />
                        <h:inputText value="#{empresaController.empresaSelecionada.fantasia}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado o nome fantasia da Empresa"/>
                        <h:panelGroup />
                        <h:outputText value="CGC" style="font-size: 11px; font-weight: bold" />
                        <h:inputText value="#{empresaController.empresaSelecionada.cgc}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado o CGC da Empresa" />                        
                        <rich:message id="priceMsg" for="price" />                        
                        <h:outputText value="Status" style="font-size: 11px; font-weight: bold" />
                        <h:selectOneListbox value="#{empresaController.empresaSelecionada.status}" size="1">
                            <f:selectItems value="#{empresaController.listaStatus}" />                            
                        </h:selectOneListbox>                                                    
                        <h:panelGroup />
                        <h:outputText value="Tipo de Empresa" style="font-size: 11px; font-weight: bold" />
                        <h:selectOneListbox value="#{empresaController.empresaSelecionada.tipoEmpresa}" size="1">                            
                            <f:selectItems value="#{empresaController.tiposEmpresa}" />                            
                        </h:selectOneListbox>                                                                                                                                                   
                    </h:panelGrid>
                    <h:panelGroup />
                    <a4j:commandButton  value="Salvar" action="#{empresaController.alterar}" render="table" execute="editPane"
                                       oncomplete="if (#{facesContext.maximumSeverity==null}) {#{rich:component('editPane')}.hide();}" />
                    <a4j:commandButton value="Cancelar" onclick="#{rich:component('editPane')}.hide(); return false;" />
                </rich:popupPanel>

ManagedBean

@Named(value = "empresaController")
@ManagedBean
@SessionScoped
public class EmpresaController implements Serializable {

    /**
     * Creates a new instance of EmpresaController
     */
    private static final int CLIENT_ROWS_IN_AJAX_MODE = 15;
    private Empresa e;
    private Empresa empresaSelecionada;
    private DaoEmpresa dao;
    private DataModel listaEmpresa;
    private List<Empresa> todasEmpresas;
    private List<SelectItem> tiposEmpresa;
    private List<SelectItem> listaStatus;
    private int page = 1;
    private int currentEmpresaIndex;
    private int clientRows;
    
    ..............................
    
    public List<Empresa> getTodasEmpresas() {
        dao = new DaoEmpresa();
        todasEmpresas = dao.listarTodos();
        System.out.println("Listando empresas ...............................................................................");
        return todasEmpresas;
    }
    
    public void remove() {
        dao = new DaoEmpresa();
        dao.deletar(currentEmpresaIndex);
    }

    public void salvar() {
        dao = new DaoEmpresa();
        dao.salvar(e);
    }

    public void alterar() {
        System.out.println("Alterando .........................................................................................");
        dao = new DaoEmpresa();
        dao.alterar(empresaSelecionada);
    }

    //gets e sets

}

Eu coloquei ate uns prints nos métodos e a impressão é que ele nem chega a entrar no método alterar.

Alguém pode me dar uma ajuda?

12 Respostas

R

Só pra eu entender corretamente, a popup de edição abre normalmente, mas quando você clica no botão de alterar o seu método do bean não é invocado, correto ?

Alguma exceção é lançada no console do seu servidor ?

W

É exatamente isso, a tela de edição carrega normalmente, mas quando salvo o metodo de alterar não é invocado. Nenhuma exceção.

R

seu popup está dentro de um <h:form> ?

W

Sim

R

Um teste que eu costumo fazer nesses casos é remover o ajax pra ver se o problema está em outro lugar, subsituo meu a4j:commandButton por um <h:commandButton> e vou encontrando o erro por eliminação.

W

Eu tirei o ajax e o resultado foi o mesmo, tem mais alguma dica?

G

Pessoal bom dia,
Estou com este mesmo problema, gostaria de saber se vocês conseguiram resolver, isso já esta me deixando doido estou a 2 dias parado !!

Desde já agradeço a ajuda de vocês e a atenção.

W

Eu resolvi sim o problema, na verdade eu voltei a usar o ajax e no popupPanel eu não tinha colocado o atributo domElementAttachment=“parent”. ai funcionou sem problemas.
Veja como ficou:

<rich:popupPanel header="Nova Empresa" id="savePane" domElementAttachment="parent" width="400" height="200">
                    <h:panelGrid columns="3" id="saveGrid">                        
                        <h:outputText value="Razao Social" style="font-size: 11px; font-weight: bold" />
                        <h:inputText value="#{empresaController.e.razaoSocial}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado a Razão Social da Empresa"/>
                        <h:panelGroup />
                        <h:outputText value="Fantasia" style="font-size: 11px; font-weight: bold" />
                        <h:inputText value="#{empresaController.e.fantasia}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado o nome fantasia da Empresa"/>
                        <h:panelGroup />
                        <h:outputText value="CGC" style="font-size: 11px; font-weight: bold" />
                        <h:inputText value="#{empresaController.e.cgc}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado o CGC da Empresa" />                                                                        
                        <rich:message id="priceMsg2" for="price" />
                        <h:outputText value="Status" style="font-size: 11px; font-weight: bold" />
                        <h:selectOneListbox value="#{empresaController.e.status}" size="1">
                            <f:selectItems value="#{empresaController.listaStatus}" />                            
                        </h:selectOneListbox>                                                    
                        <h:panelGroup />
                        <h:outputText value="Tipo de Empresa" style="font-size: 11px; font-weight: bold" />
                        <h:selectOneListbox value="#{empresaController.e.tipoEmpresa}" size="1">                            
                            <f:selectItems value="#{empresaController.tiposEmpresa}" />                            
                        </h:selectOneListbox>                                                                                                                                                   
                    </h:panelGrid>
G

Wagner,

Com isso no click do botão ele realiza a gravação no banco??? você alterou mais alguma coisa???

vou tentar por aqui, Cara desde já agradeço a atenção…

W

Gustavo, eu não tinha copiado o fim do popupPanel, mas é isso mesmo, não alterei mais nada.
Segue popupPanel completo

<rich:popupPanel header="Nova Empresa" id="savePane" domElementAttachment="parent" width="400" height="200"> <h:panelGrid columns="3" id="saveGrid"> <h:outputText value="Razao Social" style="font-size: 11px; font-weight: bold" /> <h:inputText value="#{empresaController.e.razaoSocial}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado a Razão Social da Empresa"/> <h:panelGroup /> <h:outputText value="Fantasia" style="font-size: 11px; font-weight: bold" /> <h:inputText value="#{empresaController.e.fantasia}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado o nome fantasia da Empresa"/> <h:panelGroup /> <h:outputText value="CGC" style="font-size: 11px; font-weight: bold" /> <h:inputText value="#{empresaController.e.cgc}" required="true" requiredMessage="Campo Obrigatorio" label="Deve ser informado o CGC da Empresa" /> <rich:message id="priceMsg2" for="price" /> <h:outputText value="Status" style="font-size: 11px; font-weight: bold" /> <h:selectOneListbox value="#{empresaController.e.status}" size="1"> <f:selectItems value="#{empresaController.listaStatus}" /> </h:selectOneListbox> <h:panelGroup /> <h:outputText value="Tipo de Empresa" style="font-size: 11px; font-weight: bold" /> <h:selectOneListbox value="#{empresaController.e.tipoEmpresa}" size="1"> <f:selectItems value="#{empresaController.tiposEmpresa}" /> </h:selectOneListbox> </h:panelGrid> <h:panelGroup /> <a4j:commandButton value="Salvar" action="#{empresaController.salvar()}" render="table" execute="savePane" oncomplete="if (#{facesContext.maximumSeverity==null}) {#{rich:component('savePane')}.hide();}" /> <a4j:commandButton value="Cancelar" onclick="#{rich:component('savePane')}.hide(); return false;" /> </rich:popupPanel>

G

Wagner, veja o meu:

<a4j:commandButton value="Salvar"
     actionListener="#{cadastroAlunoBean.salvar}"
     reRender="frm" type="submit"/>
<h:commandButton value="Cancelar" action="menu"
immediate="true"/>

Será que posso deixar igual ao seu??

e no form

adicionar o "domElementAttachment=“parent”

???

G

Wagner bom dia,

Cara a sua solução não deu pra resolver meu problema eu acho que na forma que estou usando este parâmetro não serve para o componente , teria um outro parâmetro que faria o mesmo efeito para o que estou usando, abaixo segue o JSP. o nome do botão é “Salvar” logo no final do código.

<%-- 
    Document   : cadastroAluno
    Created on : 23/04/2012, 22:40:47
    Author     : Gustavo
--%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
	pageEncoding="ISO-8859-1"%>

<%@ taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@ taglib uri="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>
<link rel="stylesheet" type="text/css" href="../css/estilo.css">
</head>
<f:view>
	<body>
		<h:form id="frm" styleClass="formulario">

			<h1>
				<h:outputText value="Cadastro de alunos" />
			</h1>

			<h:messages layout="table" showSummary="true" showDetail="false"
				globalOnly="true" styleClass="msgErro" infoClass="msgInfo"
				style="font-weight: bold" />

			<rich:tabPanel width="100%" >
				<rich:tab label="Dados Gerais" switchType="client" rendered="true">
					<h:panelGrid style="text-align: left" columns="2">
						<h:panelGroup style="text-align: left">
							<h:outputLabel value="Código: " />
							<h:inputText id="codigo" size="10"
								value="#{CadastroAlunoBean.alunoEdicao.cd_aluno}"
								label="Código do aluno" disabled="true" />
							<h:message for="codigo" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="Nome: " />
							<h:inputText id="nomeAluno" size="80" maxlength="150"
								value="#{CadastroAlunoBean.alunoEdicao.nome}" required="true"
								label="Nome do Aluno" />
							<h:message for="nomeAluno" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value=" Data Nascimento: " />
							<rich:calendar id="dtNascimento" inputSize="12"
								datePattern="dd/MM/yyyy" enableManualInput="true"
								value="#{CadastroAlunoBean.alunoEdicao.dt_nascimento}"
								required="true" label="Data nascimento" />
							<h:message for="dtNascimento" showSummary="true"
								showDetail="false" styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="CPF/CNPJ: " />
							<h:inputText id="cnpjcpf" size="14" maxlength="14"
								value="#{CadastroAlunoBean.alunoEdicao.cnpj_cpf}"
								required="true" label="CPF/CNPJ">
							</h:inputText>
							<h:message for="cnpjcpf" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="RG : " />
							<h:inputText id="rg" size="14" maxlength="14"
								value="#{CadastroAlunoBean.alunoEdicao.rg}" required="true"
								label="RG">
							</h:inputText>
							<h:message for="rg" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>

							<h:outputLabel value="Orgão Emissor : " />
							<h:inputText id="OrgEmiss" size="14" maxlength="14"
								value="#{CadastroAlunoBean.alunoEdicao.rg_orgao}"
								required="true" label="Orgão Emissor">
							</h:inputText>
							<h:message for="OrgEmiss" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="Nome do Pai : " />
							<h:inputText id="NomPai" size="80" maxlength="80"
								value="#{CadastroAlunoBean.alunoEdicao.filiacao_pai}"
								required="true" label="Nome do Pai">
							</h:inputText>
							<h:message for="NomPai" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="Estado Civil : " />
							<h:selectOneMenu id="EstCivil"
								value="#{CadastroAlunoBean.alunoEdicao.estado_civil}"
								label="EstCivil" required="true">
								<f:selectItems value="#{CadastroAlunoBean.estados_civil}"
									var="e" itemLabel="#{e.descricao}" itemValue="#{e.codigo}" />
							</h:selectOneMenu>
							<h:message for="EstCivil" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="Nome da Mãe : " />
							<h:inputText id="NomMae" size="80" maxlength="80"
								value="#{CadastroAlunoBean.alunoEdicao.filiacao_mae}"
								required="true" label="Nome da Mãe">
							</h:inputText>
							<h:message for="NomMae" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="Status do aluno : " />
							<h:selectOneMenu id="StatusAlu"
								value="#{CadastroAlunoBean.alunoEdicao.cd_status }"
								label="StatusAlu" required="true">
								<f:selectItems value="#{CadastroAlunoBean.status_aluno}" var="s"
									itemLabel="#{s.descricao}" itemValue="#{s.cd_status}" />
							</h:selectOneMenu>
							<h:message for="StatusAlu" showSummary="true" showDetail="false"
								styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="Naturalidade : " />
							<h:inputText id="natural" size="14" maxlength="14"
								value="#{CadastroAlunoBean.alunoEdicao.naturalidade}"
								required="true" label="Naturalidade">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Nacionalidade : " />
							<h:inputText id="nacional" size="14" maxlength="14"
								value="#{CadastroAlunoBean.alunoEdicao.nacionalidade}"
								required="true" label="Nacionalidade">
							</h:inputText>
						</h:panelGroup>
					</h:panelGrid>
				</rich:tab>
				<rich:tab label="Endereço" switchType="client">
					<h:panelGrid style="text-align: left" columns="2">
						<h:panelGroup style="text-align: left">
							<h:outputLabel value="CEP : " />
							<h:inputText id="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:validateRegex pattern="(^[0-9]{2}\.?[0-9]{3}-{1}[0-9]{3})" />
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Endereço : " />
							<h:inputText id="endereco" size="80" maxlength="200"
								value="#{CadastroAlunoBean.alunoEdicao.endereco}"
								required="true" label="Endereço">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Bairro : " />
							<h:inputText id="bairro" size="50" maxlength="60"
								value="#{CadastroAlunoBean.alunoEdicao.bairro}" required="true"
								label="Bairro">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Complemento : " />
							<h:inputText id="complemento" size="80" maxlength="200"
								value="#{CadastroAlunoBean.alunoEdicao.complemento}"
								required="true" label="Complemento">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Cidade : " />
							<h:inputText id="cidade" size="50" maxlength="60"
								value="#{CadastroAlunoBean.alunoEdicao.cidade}" required="true"
								label="Cidade">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Estado : " />
							<h:selectOneMenu id="Estado"
								value="#{CadastroAlunoBean.alunoEdicao.estado }"
								label="EstCivil" required="true">
								<f:selectItems value="#{CadastroAlunoBean.estado}" />
							</h:selectOneMenu>
							<h:message for="Estado" showSummary="true" showDetail="false"
								styleClass="msgErro" />
						</h:panelGroup>
					</h:panelGrid>
				</rich:tab>
				<rich:tab label="Endereço de Cobrança" switchType="client">
					<h:panelGrid style="text-align: left" columns="2">
						<h:panelGroup style="text-align: left">
							<h:outputLabel value="CEP : " />
							<h:inputText id="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:validateRegex pattern="(^[0-9]{2}\.?[0-9]{3}-{1}[0-9]{3})" />
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Endereço : " />
							<h:inputText id="endereco_cob" size="80" maxlength="200"
								value="#{CadastroAlunoBean.alunoEdicao.cob_endereco}"
								required="true" label="Endereço">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Bairro : " />
							<h:inputText id="bairro_cob" size="50" maxlength="60"
								value="#{CadastroAlunoBean.alunoEdicao.cob_bairro}"
								required="true" label="Bairro">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Complemento : " />
							<h:inputText id="complemento_cob" size="80" maxlength="200"
								value="#{CadastroAlunoBean.alunoEdicao.cob_complemento}"
								required="true" label="Complemento">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Cidade : " />
							<h:inputText id="cidade_cob" size="50" maxlength="60"
								value="#{CadastroAlunoBean.alunoEdicao.cob_cidade}"
								required="true" label="Cidade">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Estado : " />
							<h:selectOneMenu id="Estado_cob"
								value="#{CadastroAlunoBean.alunoEdicao.cob_estado }"
								label="EstCivil" required="true">
								<f:selectItems value="#{CadastroAlunoBean.estado}" />
							</h:selectOneMenu>
							<h:message for="Estado" showSummary="true" showDetail="false"
								styleClass="msgErro" />
						</h:panelGroup>
					</h:panelGrid>
				</rich:tab>
				<rich:tab label="Contatos" switchType="client">
					<h:panelGrid style="text-align: left" columns="2">
						<h:panelGroup style="text-align: left">
							<h:outputLabel value="Telefone : " />
							<h:inputText id="telefone" size="14" maxlength="14"
								value="#{CadastroAlunoBean.alunoEdicao.telefone1}"
								required="true" label="Telefone">
							</h:inputText>
							<br>
							<br>
							<h:outputLabel value="Site : " />
							<h:inputText id="site" size="80" maxlength="100"
								value="#{CadastroAlunoBean.alunoEdicao.site}" required="true"
								label="Site">
							</h:inputText>
							<br>
							<br>

							<h:outputLabel value="Telefone : " />
							<h:inputText id="telefone2" size="14" maxlength="14"
								value="#{CadastroAlunoBean.alunoEdicao.telefone2}"
								required="true" label="Telefone">
							</h:inputText>
							<br>
							<br>

							<h:outputLabel value="Email : " />
							<h:inputText id="email" size="80" maxlength="100"
								value="#{CadastroAlunoBean.alunoEdicao.email}" required="true"
								label="Email">
							</h:inputText>
							<br>
							<br>

							<h:outputLabel value="Telefone : " />
							<h:inputText id="telefone3" size="14" maxlength="14"
								value="#{CadastroAlunoBean.alunoEdicao.telefone3}"
								required="true" label="Telefone">
							</h:inputText>

						</h:panelGroup>
					</h:panelGrid>
				</rich:tab>
				<rich:tab label="Cursos" switchType="client">
					<h:panelGrid style="text-align: left" columns="2">
						<h:panelGroup style="text-align: left">
							<h:outputLabel value="Data Desistência : " />
							<rich:calendar id="dtDesistencia" inputSize="12"
								datePattern="dd/MM/yyyy" enableManualInput="true"
								value="#{CadastroAlunoBean.alunoEdicao.dt_desistencia}"
								required="false" label="Data Desistência" />
							<h:message for="dtDesistencia" showSummary="true"
								showDetail="false" styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="Data Trancamento : " />
							<rich:calendar id="dtTrancamento" inputSize="12"
								datePattern="dd/MM/yyyy" enableManualInput="true"
								value="#{CadastroAlunoBean.alunoEdicao.dt_trancamento}"
								required="false" label="Data Trancamento" />
							<h:message for="dtTrancamento" showSummary="true"
								showDetail="false" styleClass="msgErro" />
							<br>
							<br>
							<h:outputLabel value="Data Conclusão Curso : " />
							<rich:calendar id="dtConclusaoCurso" inputSize="12"
								datePattern="dd/MM/yyyy" enableManualInput="true"
								value="#{CadastroAlunoBean.alunoEdicao.dt_conclusao_curso}"
								required="false" label="Data Conclusão Curso" />
							<h:message for="dtConclusaoCurso" showSummary="true"
								showDetail="false" styleClass="msgErro" />

						</h:panelGroup>
					</h:panelGrid>
				</rich:tab>
				<rich:tab label="Documentos" switchType="client">
					<h:panelGrid style="text-align: left-top" columns="4">

						<h:outputLabel value="Documento  : " />
						<h:selectOneMenu id="documento"
							value="#{CadastroAlunoBean.alunoEdicao.documentos }"
							label="documento" required="false">
							<f:selectItems value="#{CadastroAlunoBean.lsttipo_documento}" />
						</h:selectOneMenu>
						<br>
						<br>
						<rich:dataTable rows="10" id="tab"
							value="#{CadastroAlunoBean.alunoEdicao.documentos}" var="item"
							width="400px">
							<rich:column style="text-aling: center">
								<f:facet name="header">
									<h:outputText value="Documentos" />
								</f:facet>
								<h:outputText value="#{item.nome}" />
							</rich:column>
						</rich:dataTable>

					</h:panelGrid>
				</rich:tab>
				<rich:tab label="Observação" switchType="client">
					<h:panelGrid style="text-align: left-top" columns="2">
						<h:outputLabel value="Observação : " />
						<h:panelGroup style="text-align: left-top">
							<h:inputTextarea id="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:commandButton value="Salvar"
					actionListener="#{CadastroAlunoBean.salvar}" reRender="frm"
					type="submit" />
				<a4j:commandButton value="Cancelar" action="menu" immediate="true" />
			</h:panelGroup>


		</h:form>
	</body>
</f:view>
</html>

Desde já agradeço a ajuda e a atenção.

Gustavo

Criado 9 de junho de 2012
Ultima resposta 13 de jun. de 2012
Respostas 12
Participantes 3