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.