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 DAOData 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.