Antes de iniciar, você precisa concluir o Exercício 2.3: Utilizando o Componente Upload de Arquivo.
Pela maneira como a página new_record.jsp está configurada, o usuário precisa tomar muito cuidado para não digitar um número de ID que já esteja em uso, porque cada registro no banco de dados precisa ter um ID exclusivo. Isso foi explicado com mais detalhes no Exercício 1.4: Criando Novos Registros. Em resumo, você deve impedir o usuário de cometer esse engano.
No próximo exercício, Exercício 2.5: Utilizando Geração Automática de Chaves, você utilizará a geração automática de chaves para evitar ter que digitar um número de ID. Neste exercício, você verificará se o ID digitado é exclusivo e, se não for, enviará o usuário para uma página de erro que descreve o problema e instrui o usuário sobre como corrigi-lo.
As Regras de Navegação permitem direcionar o usuário para a página de erro ou para a página all_records.jsp depois de verificar se o usuário digitou, ou não, um número de ID duplicado. Você designará aliases para esses dois resultados possíveis e depois os vinculará com as páginas corretas do destino. Neste exemplo, um erro na página create_record.jsp sinalizará o alias ERROR_CREATE, que enviará o usuário para a página de erro. Se o usuário preencher a página create_record.jsp corretamente, ele sinalizará o alias MAIN, que será vinculado à página all_records.jsp como de costume.
A primeira regra enviará o usuário para uma página de erro denominada create_error.jsp, no caso de algo errado na criação e execução do novo registro no banco de dados.
A próxima regra navegará para all_records.jsp se o usuário tiver digitado um número de ID válido.
Tudo o que resta agora é colocar as novas regras de navegação em funcionamento. Você incluirá duas instruções return no código para o botão Colocar Nova Listagem. Essas instruções return chamam o alias apropriado para que o usuário seja enviado para a página apropriada conforme definido na regra de navegação.
Essa função catch é executada se o usuário tiver digitado um número de ID duplicado.
return "ERROR_CREATE";
return "MAIN";
Essa etapa remove a ação gotoPage incluída no exercício 1.4. Você não precisa mais desse código porque as regras de navegação fazem a mesma coisa.
O código de seu botão deve agora ser semelhante a este:
Opcionalmente, você pode criar uma página de erro simples denominada create_error.jsp que explique aos usuários que um erro ocorreu durante a criação de suas listagens e que devem tentar um valor de ID diferente. Essas regras de navegação podem então seres testadas tentando incluir uma nova listagem que utilize um valor de ID existente (tal como 1).
Você agora está pronto para iniciar o Exercício 2.5: Utilizando Geração Automática de Chaves.