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: