How do I show an already selected item in a jsf datatab that was previously edited

1

I'm trying to see these items that I selected on the include screen also selected on the editing screen and I'm not getting: this is my inclusion jsf:

<?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">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
    xmlns:p="http://primefaces.org/ui"
    template="/pages/template/main.xhtml">

    <ui:define name="content">
        <div class="container">

            <ol class="breadcrumb">
                <li><a href="../menu/menu_home.xhtml"><i class="fa fa-home"></i>
                        #{labels.menu_home}</a></li>
                <li><a href="../menu/menu_administrativo.xhtml">#{labels.menu_administrativo_titulo}</a></li>
                <li><a href="tipoAcessos_lista.xhtml">#{labels.menu_administrativo_item1}</a></li>
                <li class="active">#{labels.tela_tipoAcesso_titulo_incluir}</li>
            </ol>

            <p:messages id="messages" autoUpdate="true" closable="true" />
            <h4 class="box-title">#{labels.tela_tipoAcesso_titulo_incluir_cadastro}</h4>

            <div class="col-md-12">
                <div class="box box-primary">
                    <h:form id="form-incluir-acessos" role="form">
                        <div class="box-body">
                            <div class="form-group">
                                <label>#{labels.tela_tipoAcesso_codigo}</label>
                                <p:inputText 
                                    id="codigo" 
                                    type="text" 
                                    class="form-control"
                                    value="#{tipoAcessoMBean.tbTipoAcesso.tbTipoAcessoCodigo}" 
                                    maxlength="8"
                                    placeholder="#{labels.msg_placeholder_tipoAcesso_codigo}" 
                                    style="width: 135px;"
                                    required="true" 
                                    requiredMessage="#{labels.msg_requiredMessage_tipoAcesso_codigo}" />
                            </div>

                            <div class="form-group">
                                <label>#{labels.tela_tipoAcesso_descricao}</label>
                                <p:inputText 
                                    id="descricao" 
                                    type="text" 
                                    class="form-control"
                                    value="#{tipoAcessoMBean.tbTipoAcesso.tbTipoAcessoDescricao}" 
                                    maxlength="250"
                                    placeholder="#{labels.msg_placeholder_tipoAcesso_descricao}" 
                                    required="true"
                                    requiredMessage="#{labels.msg_requiredMessage_tipoAcesso_descricao}" />
                            </div>

                            <div class="form-group">
                                <label>#{labels.tela_tipoAcesso_status}</label>
                                <p:selectOneRadio 
                                    id="status"
                                    value="#{tipoAcessoMBean.tbTipoAcesso.tbTipoAcessoStatus}" 
                                    required="true"
                                    requiredMessage="#{labels.msg_requiredMessage_tipoAcesso_status}">
                                    <div class="checkbox">
                                        <f:selectItem itemLabel="#{labels.tela_tipoAcesso_ativo}" itemValue="1" />
                                    </div>
                                    <div class="checkbox">
                                        <f:selectItem itemLabel="#{labels.tela_tipoAcesso_desativo}" itemValue="0" />
                                    </div>
                                </p:selectOneRadio>
                            </div>

                            <div class="form-group">
                                <label>#{labels.tela_listaPermissoes_titulo}</label>
                                <p:dataTable 
                                    id="listaPermissoesTable" 
                                    var="linha" 
                                    value="#{tipoAcessoMBean.listaPermissoesDTO}" 
                                    selection="#{tipoAcessoMBean.listaPermissaoDTOSelecionada}" 
                                    rowKey="#{linha.permissoesId}" 
                                    style="margin-bottom:0"                                 
                                    emptyMessage="#{labels.msg_rodape}">

                                    <p:column selectionMode="multiple" style="width:40px;text-align:center" />
                                    <h:inputHidden value="#{linha.permissoesId}" />
                                    <p:column headerText="Item">
                                        <h:outputText value="#{linha.permissoesDesc}" />
                                    </p:column>        
                                </p:dataTable>                              
                            </div>
                        </div>

                        <div class="box-footer">
                            <p:commandButton 
                                id="btn-salvar" 
                                value="Salvar"
                                class="btn btn-primary btn-sm" 
                                icon="fa fa-fw fa-save"
                                action="#{tipoAcessoMBean.salvarTipoAcesso}" 
                                ajax="true" />

                            <p:commandButton 
                                id="btn-cancelar" 
                                value="Cancelar"
                                action="#{tipoAcessoMBean.retornarListaTipoAcesso}"
                                class="btn  btn-primary btn-sm" 
                                icon="fa fa-fw fa-ban"
                                immediate="true" 
                                ajax="false" />
                        </div>
                    </h:form>
                </div>

                <p:dialog widgetVar="dlg" resizable="false" responsive="true" closable="false">
                    <div class="form-group">
                        <label>O registro foi gravado com SUCESSO! </label>
                    </div>
                    <br />
                    <h:form id="form-sucesso" role="form">
                        <div class="form-group">
                            <h:commandButton 
                                id="btn-fechar" 
                                value="Fechar"
                                onclick="PF('dlg').hide()" 
                                class="btn btn-primary "
                                icon="fa fa-fw fa-check"
                                action="#{tipoAcessoMBean.retornarListaTipoAcesso}" 
                                ajax="true"/>
                        </div>
                    </h:form>
                </p:dialog>

            </div>
        </div>
    </ui:define>
</ui:composition>

This is the html editing:

<?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">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:c="http://java.sun.com/jsp/jstl/core"
    xmlns:pt="http://xmlns.jcp.org/jsf/passthrough"
    xmlns:p="http://primefaces.org/ui"
    template="/pages/template/main.xhtml">

    <ui:define name="content">
        <div class="container">
            <ol class="breadcrumb">
                <li><a href="../menu/menu_home.xhtml"><i class="fa fa-home"></i>
                        #{labels.menu_home}</a></li>
                <li><a href="../menu/menu_administrativo.xhtml">#{labels.menu_administrativo_titulo}</a></li>
                <li><a href="tipoAcessos_lista.xhtml">#{labels.menu_administrativo_item1}</a></li>
                <li class="active">#{labels.tela_tipoAcesso_titulo_editar}</li>
            </ol>
            <div class="col-md-12">
                <div class="box box-primary">
                    <div class="box-header">
                        <h4 class="box-title">#{labels.tela_tipoAcesso_titulo_editar_cadastro}</h4>
                    </div>
                    <h:form id="form-incluir-acessos" role="form">
                        <p:messages id="messages" autoUpdate="true" closable="true" />
                        <div class="box-body">

                            <div class="form-group">
                                <label>#{labels.tela_tipoAcesso_codigo}</label>
                                <p:inputText 
                                    id="codigo" 
                                    type="text" 
                                    class="form-control"
                                    value="#{tipoAcessoMBean.tbTipoAcesso.tbTipoAcessoCodigo}" 
                                    disabled="true"
                                    style="width: 135px;" />
                            </div>

                            <div class="form-group">
                                <label>#{labels.tela_tipoAcesso_descricao}</label>
                                <p:inputText 
                                    id="descricao" 
                                    type="text" 
                                    class="form-control"
                                    value="#{tipoAcessoMBean.tbTipoAcesso.tbTipoAcessoDescricao}" 
                                    maxlength="250"
                                    placeholder="#{labels.msg_placeholder_tipoAcesso_descricao}" 
                                    required="true"
                                    requiredMessage="#{labels.msg_requiredMessage_tipoAcesso_descricao}" />

                            </div>

                            <div class="form-group">
                                <label>#{labels.tela_tipoAcesso_status}</label>
                                <p:selectOneRadio id="status"
                                    value="#{tipoAcessoMBean.tbTipoAcesso.tbTipoAcessoStatus}" 
                                    required="true"
                                    requiredMessage="#{labels.msg_requiredMessage_tipoAcesso_status}">
                                    <div class="checkbox">
                                        <f:selectItem itemLabel="#{labels.tela_tipoAcesso_ativo}" itemValue="1" />
                                    </div>
                                    <div class="checkbox">
                                        <f:selectItem itemLabel="#{labels.tela_tipoAcesso_desativo}" itemValue="0" />
                                    </div>
                                </p:selectOneRadio>
                            </div>

                            <div class="form-group">
                                <label>#{labels.tela_listaPermissoes_titulo}</label>
                                <p:dataTable 
                                    id="listaPermissoesTable" 
                                    var="linha" 
                                    selectionMode="multiple"
                                    value="#{tipoAcessoMBean.listaPermissoesDTO}" 
                                    selection="#{tipoAcessoMBean.listaPermissaoDTOSelecionada}" 
                                    rowKey="#{linha.permissoesId}" 
                                    style="margin-bottom:0"
                                    emptyMessage="#{labels.msg_rodape}">


                                    <h:inputHidden value="#{linha.permissoesId}" />
                                    <p:column headerText="Item">
                                        <h:outputText value="#{linha.permissoesDesc}" />
                                    </p:column>        
                                </p:dataTable>                              
                            </div>

                        </div>

                        <div class="box-footer">
                            <p:commandButton 
                                id="btn-salvar" 
                                value="#{labels.button_update}"
                                class="btn btn-primary btn-sm" 
                                icon="fa fa-fw fa-save"
                                action="#{tipoAcessoMBean.atualizarTipoAcesso}" 
                                ajax="true"/>

                            <p:commandButton 
                                id="btn-cancelar" 
                                value="#{labels.button_cancel}"
                                action="#{tipoAcessoMBean.retornarListaTipoAcesso}"
                                class="btn  btn-primary btn-sm" 
                                icon="fa fa-fw fa-ban"
                                immediate="true" ajax="false" />
                        </div>
                    </h:form>
                </div>

                <p:dialog widgetVar="dlg" resizable="false" responsive="true" closable="false">
                    <div class="form-group">
                        <label>O ACESSO foi atualizado com SUCESSO!</label>
                    </div>
                    <br />
                    <h:form id="form-sucesso">
                        <div class="form-group">
                            <h:commandButton 
                                id="btn-fechar" 
                                value="#{labels.button_fechar}"
                                onclick="PF('dlg').hide()" 
                                class="btn btn-primary"
                                icon="fa fa-fw fa-check"
                                action="#{tipoAcessoMBean.retornarListaTipoAcesso}" 
                                ajax="true" />
                        </div>
                    </h:form>
                </p:dialog>

            </div>
        </div>
    </ui:define>
</ui:composition>

here is my controller:

package br.com.zotecit.gestorEmpresarial.jsf.tipoAcesso;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import org.primefaces.context.RequestContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;

import br.com.zotecit.gestorEmpresarial.common.BaseMBean;
import br.com.zotecit.gestorEmpresarial.common.Mensagens;
import br.com.zotecit.gestorEmpresarial.entity.TbListaPermissao;
import br.com.zotecit.gestorEmpresarial.entity.TbTipoAcesso;
import br.com.zotecit.gestorEmpresarial.webService.impl.ITbListaPermissaoBusiness;
import br.com.zotecit.gestorEmpresarial.webService.impl.ITbTipoAcessoBusiness;

@Scope("session")
@Component
public class TipoAcessoMBean extends BaseMBean implements Serializable {

    private static final long serialVersionUID = 5919988150766675315L;

    private TbTipoAcesso tbTipoAcesso;
    private TbTipoAcesso tbTipoAcessoRetorno;
    private List<TbTipoAcesso> listaTbTipoAcesso;

    private TbListaPermissao tbListaPermissao;
    private List<TbListaPermissao> listaTbListaPermissao;


    @Autowired
    @Qualifier(value = "TbTipoAcessoBusiness")
    private ITbTipoAcessoBusiness tbTipoAcessoBusiness;

    @Autowired
    @Qualifier(value="TbListaPermissaoBusiness")
    private ITbListaPermissaoBusiness tbListaPermissaoBusiness;


    private PermissoesDTO permissoesDTO;
    private List<PermissoesDTO> listaPermissaoDTOSelecionada;
    private List<PermissoesDTO> listaPermissoesDTO = new ArrayList<PermissoesDTO>();    

    public TipoAcessoMBean() {
        tbTipoAcesso = new TbTipoAcesso();
        tbListaPermissao = new TbListaPermissao();
        listaTbTipoAcesso = tbTipoAcessoBusiness.pesquisar();

        this.listaPermissoesDTO.add(new PermissoesDTO(1,"01", "Administrativo",0));
        this.listaPermissoesDTO.add(new PermissoesDTO(2,"02", "Cadastros",0));
        this.listaPermissoesDTO.add(new PermissoesDTO(3,"03", "Controle de Estoque",0));
        this.listaPermissoesDTO.add(new PermissoesDTO(4,"04", "Notas Fiscais",0));
        this.listaPermissoesDTO.add(new PermissoesDTO(5,"05", "Fechamento de Contas",0));
        this.listaPermissoesDTO.add(new PermissoesDTO(6,"06", "Compras",0));
        this.listaPermissoesDTO.add(new PermissoesDTO(7,"07", "Vendas",0)); 
    }

    Mensagens msg = new Mensagens();
    TipoAcessoDelegateBussines adb = new TipoAcessoDelegateBussines();


    // *------- chama tela de inclusão de acesso
    public String chamarIncluirTipoAcesso() {
        listaTbListaPermissao =  null;
        listaPermissaoDTOSelecionada  = new ArrayList<PermissoesDTO>();
        tbListaPermissao = new TbListaPermissao();      
        tbTipoAcesso = new TbTipoAcesso();
        tbTipoAcesso.setTbTipoAcessoCodigo("");
        tbTipoAcesso.setTbTipoAcessoStatus(null);
        tbTipoAcesso.setTbTipoAcessoDescricao("");
        return "tipoAcessos_incluir.xhtml";
    }


    // *------- chama tela de edição de acesso
    public String chamarEditarTipoAcesso() {
        String retorno;
        if (tbTipoAcesso != null) {
            tbListaPermissao = new TbListaPermissao();
            listaPermissaoDTOSelecionada  = new ArrayList<PermissoesDTO>();
            try {
                tbListaPermissao.setTbTipoAcesso(tbTipoAcesso);
                listaTbListaPermissao = tbListaPermissaoBusiness.pesquisarPorPerfil(tbListaPermissao);
                retorno = "tipoAcessos_editar.xhtml";
            } catch (Exception e) {
                e.printStackTrace();
                msg.mensagemDeErroSelecao();
                retorno = "tipoAcessos_lista.xhtml";
            }   
        } else {
            msg.mensagemDeErroSelecao();
            retorno = "tipoAcessos_lista.xhtml";
        }
        return retorno;
    }


    // *------ chama metodo de exclusão de acesso
    public String chamarExcluirTipoAcesso() {
        if (tbTipoAcesso != null) {
            try {
                adb.setTbTipoAcesso(tbTipoAcesso);
                adb.excluir();
                if (adb.isOkNok() == false) {
                    msg.mensagenDeErroExcluir();
                }
            } catch (Exception e) {
                e.printStackTrace();
                msg.mensagenDeErroExcluir();
            }           
        } else {
            msg.mensagemDeErroSelecao();
        }
        listaTbTipoAcesso = tbTipoAcessoBusiness.pesquisar();
        return "tipoAcessos_lista.xhtml";
    }


    // *----- chama tela de consulta de detalhes de acesso
    public String consultarDetalheTipoAcesso() {
        String retorno;
        if (tbTipoAcesso != null) {
            tbListaPermissao.setTbTipoAcesso(tbTipoAcesso);
            listaTbListaPermissao = tbListaPermissaoBusiness.pesquisarPorPerfil(tbListaPermissao);
            retorno = "tipoAcessos_detalhe.xhtml";
        } else {
            msg.mensagemDeErroSelecao();
            retorno = "tipoAcessos_lista.xhtml";
        }
        return retorno;
    }


    // *----- chama metodo para salvar acesso
    public void salvarTipoAcesso() {
        if (tbTipoAcesso != null) {
            adb.setTbTipoAcesso(tbTipoAcesso);
            adb.pesquisarPorCodigo(tbTipoAcesso);           
            if (adb.isOkNok() == false) {
                msg.mensagemDuplicidadeCodigo();
            } else {
                adb.pesquisarPorUrl(tbTipoAcesso);
                if (adb.isOkNok() == false) {
                    msg.mensagemDuplicidadeUrl();
                } else {
                    adb.salvar();
                    salvarPermissao();
                    if (adb.isOkNok() == true) {
                        RequestContext.getCurrentInstance().execute("PF('dlg').show()");
                    } else {
                        msg.mensagenDeErroGravacao();
                    }
                }
            }
        }

    }


    // *----- chama metodo para atualizar acesso
    public void atualizarTipoAcesso() {
        adb.setTbTipoAcesso(tbTipoAcesso);
        adb.pesquisarPorUrl(tbTipoAcesso);
        if (adb.isOkNok() == false) {
            msg.mensagemDuplicidadeUrl();
        } else {
            adb.atualizar();
            salvarPermissao();
            if (adb.isOkNok() == true) {
                RequestContext.getCurrentInstance().execute("PF('dlg').show()");
            } else {
                msg.mensagenDeErroAtualizar();
            }
        }
    }


    // *----- chama tela de lista de acesso
    public String retornarListaTipoAcesso() {
        listaTbTipoAcesso = tbTipoAcessoBusiness.pesquisar();
        return "tipoAcessos_lista.xhtml";
    }



    // *----- carrega lista de permissões selecioanadas
    public void salvarPermissao(){
        tbTipoAcessoRetorno =  tbTipoAcessoBusiness.buscaPorCodigo(getTbTipoAcesso());  
        tbListaPermissao = new TbListaPermissao();
        System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>  "+tbTipoAcessoRetorno.getId());
        for (PermissoesDTO permissoesDTO : listaPermissaoDTOSelecionada) {
            tbListaPermissao.setTbTipoAcesso(tbTipoAcessoRetorno);
            tbListaPermissao.setTbListaPermissaoCodigo(permissoesDTO.getPermissoesCod());
            tbListaPermissao.setTbListaPermissaoNome(permissoesDTO.getPermissoesDesc());

            int resultadoListaPermissao = 0;
            resultadoListaPermissao = tbListaPermissaoBusiness.pesquisarPorCodigo(tbListaPermissao);
            if (resultadoListaPermissao == 0){
                tbListaPermissaoBusiness.incluir(tbListaPermissao);
            }
        }
    }



    // *----- Getters & Setters
    public TbTipoAcesso getTbTipoAcesso() {
        return tbTipoAcesso;
    }

    public void setTbTipoAcesso(TbTipoAcesso tbTipoAcesso) {
        this.tbTipoAcesso = tbTipoAcesso;
    }

    public List<TbTipoAcesso> getListaTbTipoAcesso() {
        return listaTbTipoAcesso;
    }

    public void setListaTbTipoAcesso(List<TbTipoAcesso> listaTbTipoAcesso) {
        this.listaTbTipoAcesso = listaTbTipoAcesso;
    }

    public TbListaPermissao getTbListaPermissao() {
        return tbListaPermissao;
    }

    public void setTbListaPermissao(TbListaPermissao tbListaPermissao) {
        this.tbListaPermissao = tbListaPermissao;
    }

    public List<TbListaPermissao> getListaTbListaPermissao() {
        return listaTbListaPermissao;
    }

    public void setListaTbListaPermissao(List<TbListaPermissao> listaTbListaPermissao) {
        this.listaTbListaPermissao = listaTbListaPermissao;
    }

    public ITbTipoAcessoBusiness getTbTipoAcessoBusiness() {
        return tbTipoAcessoBusiness;
    }

    public void setTbTipoAcessoBusiness(ITbTipoAcessoBusiness tbTipoAcessoBusiness) {
        this.tbTipoAcessoBusiness = tbTipoAcessoBusiness;
    }

    public ITbListaPermissaoBusiness getTbListaPermissaoBusiness() {
        return tbListaPermissaoBusiness;
    }

    public void setTbListaPermissaoBusiness(ITbListaPermissaoBusiness tbListaPermissaoBusiness) {
        this.tbListaPermissaoBusiness = tbListaPermissaoBusiness;
    }

    public PermissoesDTO getPermissoesDTO() {
        return permissoesDTO;
    }

    public void setPermissoesDTO(PermissoesDTO permissoesDTO) {
        this.permissoesDTO = permissoesDTO;
    }

    public List<PermissoesDTO> getListaPermissaoDTOSelecionada() {
        return listaPermissaoDTOSelecionada;
    }

    public void setListaPermissaoDTOSelecionada(List<PermissoesDTO> listaPermissaoDTOSelecionada) {
        this.listaPermissaoDTOSelecionada = listaPermissaoDTOSelecionada;
    }

    public List<PermissoesDTO> getListaPermissoesDTO() {
        return listaPermissoesDTO;
    }

    public void setListaPermissoesDTO(List<PermissoesDTO> listaPermissoesDTO) {
        this.listaPermissoesDTO = listaPermissoesDTO;
    }

    public TbTipoAcesso getTbTipoAcessoRetorno() {
        return tbTipoAcessoRetorno;
    }

    public void setTbTipoAcessoRetorno(TbTipoAcesso tbTipoAcessoRetorno) {
        this.tbTipoAcessoRetorno = tbTipoAcessoRetorno;
    }

}

My include screen is this:

    
asked by anonymous 15.11.2016 / 14:22

0 answers