Olá desenvolvedores, hoje aprenderemos como implementar o radio button ou botão de rádio, que a exemplo do checkbox é também um elemento de interface gráfica. Entretanto, diferente deste o botão de rádio apresenta apenas dois estados, selecionado (ativado) e não selecionado (desativado). Um conjunto de radio buttons pode conter duas ou mais escolhas, porém, mutuamente exclusivas.
No contexto do cadastro de usuário que estamos aprimorando o radio button, permitirá o usuário informar se é do sexo feminino ou masculino.
IMPLEMENTANDO O RADIO BUTTON NO FRONT-END
Primeiro implementaremos o radio button na página de cadastro de usuário, na mesma linha onde o upload de foto está implementado, porém em células distintas. Assim o tipo do input será radio e a informação que irá para a base de dados será colocada em value.
Aqui a propriedade name serve para indicar que os campos de seleção pertencem a um mesmo grupo, dessa forma, marcar um item implica automaticamente em desmarcar outro.
E agora veja abaixo como está nosso formulário após a implementação do radio button.
IMPLEMENTANDO O RADIO BUTTON 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 sexo. E como de costume gere também os métodos setter e getter.
private String sexo;
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 na implementação em questão.
Assim, na sequência implementaremos também o insert responsável por enviar o dado para a base de dados.
String sql = “INSERT INTO usuario (..., ativo, sexo) VALUES (..., ?, ?)”;
Insert.setString(17, usuario.getSexo());
MÉTODO LISTAR() |
Ainda dentro do contexto da classe DaoUsuario implementaremos no método listar() o carregamento da informação. E a mesma linha de código será implementada no método consultar().
beanCursoJsp.setSexo(resultSet.getString(“sexo”));
MÉTODO ATUALIZAR()
E no método atualizar() na Query de update “setaremos” o atributo com a informação que o usuário irá receber.
Mas precisaremos de uma especial atenção com a posição em que inseriremos o atributo, visto que as validações de atualização dos arquivos de imagem e pdf, exigem este cuidado para não gerar inconsistência no banco de dados.
Isso acontece porque podemos ou não ter uma imagem, e podemos ou não ter um 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(12, usuario.getSexo());
E nas validações de upload dos arquivos, precisaremos andar uma posição acima em cada uma delas, para evitarmos erro de consistência da base de dados.
BANCO DE DADOS
O próximo passo lógico é a criação da coluna na base de dados correspondente para receber a informação de sexo do usuário. Assim sendo, selecione a tabela, e diferente de como implementamos no tutorial anterior, iremos agora fazer por meio do SQL Editor. Então iremos alterar a tabela usuario adicionando a coluna sexo do tipo character
IMPLEMENTANDO NA SERVLET
E finalmente 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 sexo = request.getParameter(“sexo”);
E no objeto usuário “setaremos” a informação obtida, isto é, que veio da tela por parâmetro.
Usuario.setSexo(sexo);
IMPLEMENTANDO 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.
E uma vez “setado” o objeto, se a informação de sexo obtida por meio da seleção no radio button for igual a masculino, o registro do objeto quando em edição será listado exibindo esta opção selecionada.
E a mesma implementação será feita para quando a escolha for para o sexo feminino, a única alteração será na condição de comparação.
EM POUCAS PALAVRAS
Em nossas últimas implementações tivemos a oportunidade de testar o poder do JSP, que nos permite a integração entre Java e HTML de forma direta. Mas é importante ter em mente que dentro do JSP somente o estritamente necessário, nada de implementações complexas contendo regras de negócio, isso fica para o lado do servidor. Bom, eu fico por aqui e nos vemos no próximo tutorial.