Prima di iniziare, è necessario completare l'Esercizio 2.3: Utilizzo del componente per il caricamento dei file.
Per il modo in cui la pagina new_record.jsp è stata configurata, è importante prestare attenzione a non immettere un numero ID che sia già in uso, in quanto ciascun record nel database deve disporre di un numero ID univoco. Questo aspetto verrà illustrato in maniera più dettagliata nell'Esercizio 1.4: Creazione di nuovi record. In breve, è necessario impedire all'utente di commettere questo errore.
Nel prossimo esercizio, Esercizio 2.5: Utilizzo della generazione chiave automatica, si utilizzerà la generazione chiave automatica per impedire l'immissione di un numero ID. In questo esercizio, si verificherà se l'ID immesso è univoco e, se così non fosse, si invierà all'utente una pagina di errore in cui si descrive il problema, fornendone anche la soluzione.
Le regole di navigazione consentono di indirizzare l'utente alla pagina di errore oppure alla pagina all_records.jsp dopo aver controllato se è stato immesso un numero ID duplicato. Verranno assegnati due alias ai possibili esiti del controllo, quindi questi due alias verranno collegati alle pagine di destinazione corrette. In questo esempio, un errore nella pagina create_record.jsp segnalerà l'alias ERROR_CREATE, che invierà l'utente alla pagina di errore. Se l'utente compila la pagina create_record.jsp correttamente, segnalerà l'alias MAIN, che, come al solito, verrà collegato alla pagina all_records.jsp.
La prima regola indirizzerà l'utente verso una pagina di errore chiamata create_error.jsp in caso di problemi o errori durante la creazione e il commit del nuovo record nel database.
La regola successiva riporterà l'utente alla pagina all_records.jsp se ha immesso un numero ID valido.
A questo punto, non resta che far funzionare le nuove regole di navigazione. A tale scopo, occorre aggiungere due istruzioni return nel codice relativo al pulsante Post New Listing. Queste istruzioni return richiamano gli alias appropriati in modo che l'utente venga indirizzato alla pagina giusta come stabilito nella regola di navigazione.
Questa funzione catch viene eseguita se l'utente ha immesso un numero ID duplicato.
return "ERROR_CREATE";
return "MAIN";
In tal modo, l'azione gotoPage aggiunta nell'Esercizio 1.4 viene rimossa. Questo codice non è più utile, in quanto le regole di navigazione hanno la stessa funzione.
Il codice del pulsante dovrebbe essere simile a quello riportato di seguito:
Facoltativamente, è possibile creare una semplice pagina di errori chiamata create_error.jsp in cui si spiega agli utenti che si è verificato un errore durante la creazione dell'elenco e che occorre utilizzare un valore ID differente. Successivamente, è possibile verificare queste regole di navigazione tentando di aggiungere un nuovo elenco che utilizzi un valore ID esistente come, ad esempio, 1.
A questo punto, è possibile iniziare l'Esercizio 2.5: Utilizzo della generazione chiave automatica.