Olá desenvolvedores, hoje iremos implementar o combo box ou caixa de combinação no cadastro de usuário. O combo box é também um elemento de interface gráfica, e consiste em uma caixa de listagem, ou seja, uma caixa que apresenta uma lista de opções para que o usuário escolha uma entre elas.

No contexto da nossa aplicação utilizaremos o combo box para selecionar o perfil do usuário. Assim, se ele for o administrador do sistema, ele poderia por exemplo, receber privilégios correspondentes ao seu perfil. Sendo apenas um usuário comum, poderíamos limitar o que ele pode enxergar no sistema.

Esta implementação também nos apresenta um menu de possibilidades do que podemos a partir dela, fazer em nosso sistema.

IMPLEMENTANDO O COMBO BOX NO FRONT-END

Assim, o primeiro passo lógico é a implementação do combo box na página de cadastro de usuário, logo abaixo do campo do IBGE. E dessa vez não utilizaremos o input, mas sim a tag select.

E agora veja abaixo como está nosso formulário após a implementação do combo box. Observe que para obter uma melhor visualização, fizemos algumas modificações em nossa tela, que você pode opcionalmente fazer também.

CRIANDO O CAMPO NO BANCO DE DADOS

Abra a sua base de dados correspondente para que possamos alterar a tabela usuario adicionando a coluna perfil, do tipo character.

IMPLEMENTANDO O COMBO BOX NO BACK-END

O próximo passo lógico é criar para o objeto um atributo que representa esta opção de seleção. Assim na classe beanCursoJsp crie o atributo perfil, e gere também os métodos setter e getter.

private String perfil;

MÉTODO SALVAR() | INSERT

Agora procederemos com as implementações na classe de conexão DAO – Data Access Object. Então em DaoUsuario.java começaremos pelo insert. Lembrando sempre que a Query implementa todos os demais parâmetros, mas aqui nos concentraremos principalmente na implementação em questão.

Assim, na sequência implementaremos também o insert responsável por enviar a informação obtida para a base de dados.

String sql = “INSERT INTO usuario (..., ativo, sexo, perfil) VALUES (..., ?, ?, ?)”;
insert.setString(18, usuario.getPerfil());

MÉTODO LISTAR() |

Ainda na classe DaoUsuario implementaremos no método listar() o carregamento da informação. E igualmente a mesma linha de código será implementada no método consultar().

beanCursoJsp.setPerfil(resultSet.getString(“perfil”));

MÉTODO ATUALIZAR()

E no método atualizar(), na Query de update setaremos o atributo com a informação que ele irá receber, isto é, onde perfil será igual a informação recebida por parâmetro.

Mas precisaremos de uma especial atenção com a posição em que iremos inserir o atributo, visto que as validações de atualização dos arquivos de upload, são implementadas pensando na consistência dos dados no banco.

Esta preocupação se justifica porque podemos ou não ter uma imagem e/ou arquivo, ou não ter nenhum dos dois. E cada uma dessas opções foram levadas em consideração no momento da implementação, porque são determinantes para orientar a leitura/consulta no banco de dados.

preparedStatement.setString(13, usuario.getPerfil());

E nas validações logo abaixo ao registro de perfil, precisaremos mover uma posição em cada uma das validações de upload, para evitarmos o mencionado erro de consistência da base de dados.

IMPLEMENTANDO NA SERVLET

Na servlet Usuario.java no método responsável por gravar as informações no doPost, receberemos a informação que virá pela requisição.

String perfil = request.getParameter(“perfil”);

E no objeto usuário “setaremos” a informação obtida, isto é, que veio da tela por parâmetro.

Usuario.setSexo(perfil);

IMPLEMENTANDO USUÁRIO EDIÇÃO NO JSP

Agora iremos utilizar tags JSP para escrevermos no front-end em Java, o código que nos permitirá listar a informação quando o objeto estiver em edição. Dessa forma, faremos a verificação da existência do usuário e o instanciaremos.

Assim, se o usuário existente estiver com o perfil administrador selecionado, será esta informação que iremos exibir quando o usuário em questão estiver em edição. A mesma implementação se aplica a cada uma das opções da combo box.

EM POUCAS PALAVRAS

E assim, implementamos mais uma funcionalidade em nossa aplicação de cadastro de usuário, dando a você insumos suficientes para as suas próprias experimentações e implementações. E como já foi mencionado inúmeras vezes, não existe outra forma de aprender ou acelerar a sua aprendizagem que não seja colocando a mão na massa. Então, pratique, erre, debugue o código, e refaça quantas vezes forem necessárias. Bom, eu fico por aqui e nos vemos no próximo tutorial.