quinta-feira, 21 de novembro de 2013

[java-br] JSF + Primefaces

·

 

Olá Pessoal, Bom Dia!

Estou iniciando meus estudos com (jsf + primefaces + JPA), estou tentando montar um cadastro simples para poder utilizado como exemplo, para as demais telas do meu projeto
Estou tentando montar uma janela que liste os dados em um dataTable e a manutenção desses dados (Inclução/ Alteração) quero fazer dentro de um dialog mas não estou conseguindo trabalhar com esse componente, consegui montar até a parte que cadastra, mas não consigo fazer a alteração dos dados, não sei o que pode estar acontecendo
Gostaria de ver com vocês que tem mais experiencia nesse ambiente e ajuda nessa minha primeira tela, pois estou travado  :-(
Alguém trabalha dessa forma? teria como me enviar o codigo da pagina xhtml para poder ver como foi organizado as tags? acho que estou com dificuldade nessa parte

Abaixo está os dois codigos fontes da minha tela (XHTML e BEAN)


<?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">
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <h:body>
        <ui:composition template="/template.xhtml">
            <ui:define name="conteudo">

                <h:form prependId="false">

                    <p:growl id="msg" showDetail="true" autoUpdate="true" life="4000"/>

                    <p:confirmDialog global="true" showEffect="fade" hideEffect="fade" closable="true" closeOnEscape="true" width="300">
                        <center>
                            <p:commandButton value="Sim" type="button" styleClass="ui-confirmdialog-yes" icon="iconeOK" />
                        </center>
                    </p:confirmDialog>

                    <p:dialog header="Estado Cívil" widgetVar="dlg" resizable="false" height="250" width="400">
                        <p:panelGrid id="pnlDados" columns="2">
                            <p:outputLabel value="Nome" />
                            <p:inputText id="nome" value="#{estadoCivilBean.estadoCivil.nome}" required="true">
                                <f:validateLength maximum="60" />
                            </p:inputText>

                            <p:outputLabel value="Ativo" />
                            <p:selectBooleanCheckbox value="#{estadoCivilBean.estadoCivil.ativo}" />

                            <f:facet name="footer">
                                <center>
                                    <p:commandButton value="Salvar" update="tblEstadoCivil" oncomplete="dlg.hide()" actionListener="#{estadoCivilBean.salvar(actionEvent)}"/>
                                </center>
                            </f:facet>
                        </p:panelGrid>
                    </p:dialog>


                    <center>
                        <p:commandButton value="Novo" actionListener="#{estadoCivilBean.prepararAdicionar(actionEvent)}" 
                                         oncomplete="dlg.show()" immediate="true" update="pnlDados"/>

                        <p:dataTable id="tblEstadoCivil"
                                     emptyMessage="Nenhum registro encontrado." 
                                     var="e"
                                     value="#{estadoCivilBean.estadoCivilList}"
                                     style="width: 500px" sortBy="#{e.nome}">

                            <f:facet name="header">
                                <h:outputLabel value="Lista dos Estados Civis cadastrados" />
                            </f:facet>

                            <p:column headerText="Descrição" sortBy="#{e.nome}" filterBy="#{e.nome}">
                                <h:outputText value="#{e.nome}" />
                            </p:column>

                            <p:column headerText="Ativo" sortBy="#{e.ativo}" style="width: 65px">
                                <center>
                                    <p:graphicImage value="/resources/img/crud16/OK.png" rendered="#{e.ativo}" />
                                    <p:graphicImage value="/resources/img/crud16/Cancelar.png" rendered="#{!e.ativo}" />
                                </center>
                            </p:column>

                            <p:column style="width: 70px">
                                <p:commandButton id="btnExcluir" title="Excluir registro."
                                                 icon="iconeExcluir" action="#{estadoCivilBean.excluir(e)}"
                                                 update="tblEstadoCivil" immediate="true">
                                    <p:confirm header="Confirmação" message="#{_Mensagens.confirmarExcluir}" icon="iconeAtencao" />
                                </p:commandButton>
                            </p:column>
                        </p:dataTable>
                    </center>
                </h:form>

            </ui:define>
        </ui:composition>
    </h:body>
</html>



package bean;

import java.util.List;

import javax.enterprise.context.SessionScoped;
import javax.faces.event.ActionEvent;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.inject.Inject;
import javax.inject.Named;

import model.EstadoCivil;
import services.EstadoCivilService;
import util.Mensagens;

/**
 * Bean da tela de Estado Civil
 *
 * @author Willian Vagner Vicente Corrêa
 */
@Named
@SessionScoped
public class EstadoCivilBean extends AbstractBean {

    private static final long serialVersionUID = 1L;

    @Inject
    private EstadoCivilService estadoCivilService;

    private EstadoCivil estadoCivil;
    private DataModel<EstadoCivil> estadoCivilList;

    public DataModel<EstadoCivil> getEstadoCivilList() {
        if (estadoCivilList == null) {
            List<EstadoCivil> lista = estadoCivilService.listarEstadoCivil();
            estadoCivilList = new ListDataModel(lista);
        }
        return estadoCivilList;
    }

    public void prepararAdicionar(ActionEvent actionEvent) {
        estadoCivil = null;
    }

    public void prepararAlterar(ActionEvent actionEvent) {
        estadoCivil = (EstadoCivil) (estadoCivilList.getRowData());
    }

    public void alterar(EstadoCivil obj) {
        estadoCivil = obj;
    }

    public void salvar(ActionEvent actionEvent) {
        if (estadoCivil.getId() != null) {
            estadoCivilService.alterar(estadoCivil);
            addMensagem_Informativa(Mensagens.alterado_Sucesso());
        } else {
            estadoCivilService.inserir(estadoCivil);
            addMensagem_Informativa(Mensagens.adicionado_Sucesso());
        }
        estadoCivil = null;
        estadoCivilList = null;
    }

    public void excluir(EstadoCivil obj) {
        estadoCivilService.excluir(obj.getId());
        estadoCivil = null;
        estadoCivilList = null;
        addMensagem_Informativa(Mensagens.removido_Sucesso());
    }

    public void novo() {
        this.estadoCivil = null;
    }

    public EstadoCivil getEstadoCivil() {
        if (estadoCivil == null) {
            estadoCivil = new EstadoCivil();
        }
        return estadoCivil;
    }

    public void setEstadoCivil(EstadoCivil estadoCivil) {
        this.estadoCivil = estadoCivil;
    }
}





Atenciosamente,
--
Willian Vagner Vicente Corrêa
  

__._,_.___
Atividade nos últimos dias:
Para sair da lista, envie email para: java-br-unsubscribe@yahoogroups.com
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
.

__,_._,___

0 comentários:

Pague com LPs do Mister Colibri

Pague com LPs do Mister Colibri
Quer comprar celular,Tablet,pen drive, GPS e muito outros produtos e ainda podendo pagar tudo em LPs ?Pois saiba que isso é possível,basta você visitar o site downloadstotal.com e realizar a sua compra com toda tranquilidade e segurança!!!

Hora

Online

Arquivo do Blog