How do I show an item already selected in a jsf datatabe that has been edited previously

Asked

Viewed 284 times

1

I’m trying to see these items I selected on the inclusion screen also selected on the edit screen and am 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 editing html:

<?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 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 inclusion screen is this:

Minha tela de inclusão é esta:

  • The data is being edited by user A and viewed on the grid by user B?

  • Nava to do with the answer, but in Status, uses Active and Inactive and Not Deactivating ;)

  • Are the selected items being saved to the database? And they don’t appear at the time of editing? That’s the problem?

No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.