Esercizio 1.6: Filtraggio di un elenco record relazionali
Prima di iniziare, è necessario completare l'Esercizio 1.5: Creazione di una pagina di aggiornamento.
Finora è stato illustrato come utilizzare un elenco record relazionali per visualizzare tutti
i record di una tabella e come applicare una condizione di filtro a un record relazionale
per individuare un record specifico. Verrà ora illustrato come visualizzare solo quei
record che soddisfano un criterio specifico, consentendo agli utenti di visualizzare gli
annunci in base alla categoria.
Come per la pagina di aggiornamento, verrà applicato un filtro a un parametro che
contiene la categoria desiderata, inviata alla pagina da un collegamento ipertestuale. Dal momento che
ci sono più record che soddisfano la categoria, il filtro verrà applicato a un
elenco record relazionali, piuttosto che a un record relazionale.
Creazione di un elenco record relazionali filtrato
La creazione di un elenco record relazionali filtrato prevede un ulteriore passaggio, ossia
l'applicazione del filtro per consentire solo la visualizzazione di determinati record. Come per la creazione della pagina
update_record.jsp, anche in questo caso verrà specificato un parametro nella pagina all_records.jsp
e verrà utilizzato un collegamento per inviare questo parametro alla pagina filtered_records.jsp.
- Nella vista Esplora progetti, aprire il file filtered_records.jsp facendo doppio clic su di esso.
- Rimuovere il testo predefinito.
- Creare un elenco record relazionali trascinando nella pagina un Elenco record relazionali dalla Tavolozza. Si apre
la finestra Aggiunta elenco record relazionali.
- Assegnare all'elenco di record il nome filtered_recordlist.
- Assicurarsi che Aggiungi controlli per i dati sia selezionata e fare clic su Avanti.
- Fare clic sulla tabella W5SAMPLE.ADS.
- Fare clic su Avanti.
- In Attività, fare clic su Filtra risultati. Si apre la finestra Filtri.
- Per creare la condizione del filtro, selezionare il pulsante Aggiungi
nella scheda Condizioni. Si apre la finestra Condizioni.
- Selezionare la colonna MAINCATEGORY
dall'elenco a discesa Colonna.
- Immettere #{param.CAT}
nel campo Valore. Questo codice verrà interpretato al runtime come il valore del parametro di
richiesta CAT.
La finestra Condizioni dovrebbe essere simile a quella contenuta nella seguente immagine:

- Fare clic su OK per applicare la condizione filtro all'elenco record relazionali. Questa condizione
viene visualizzata nella scheda Condizioni.
- Fare clic su Chiudi.
- Fare clic su Avanti.
- Di nuovo, è possibile scegliere tra più colonne da visualizzare nella tabella
dati. Scegliere solo queste colonne:
- TITLE
- DESCRIPTION
- MAINCATEGORY
- PRICE
- PHONE.
- Disporre le colonne nel seguente ordine:
- TITLE
- DESCRIPTION
- MAINCATEGORY
- PRICE
- PHONE
La finestra Aggiunta elenco record relazionali dovrebbe essere simile alla
finestra riportata nella seguente immagine:

- Fare clic su Fine. L'elenco record relazionali viene aggiunto alla pagina. Apparentemente, sembra proprio l'elenco di
record che si trova nella pagina all_records.jsp, ma poiché è stato filtrato in base alla categoria, visualizza
solo i record di una categoria per volta.
- Salvare la pagina.
La pagina dovrebbe essere simile a quella riportata nella seguente immagine:

Creazione di collegamenti da all_records.jsp
Come per la pagina di aggiornamento, a questo punto occorre creare un collegamento ipertestuale nel file all_records.jsp file che consenta non solo di accedere al file filtered_records.jsp, ma che passi anche il parametro CAT per filtrare l'elenco record relazionali.
- Aprire il file all_records.jsp.
- Nella vista Tavolozza, espandere il cassetto Componenti Faces.
- Trascinare un componente Collegamento dalla Tavolozza direttamente nel controllo output {MAINCATEGORY}
della tabella dati. Si apre la finestra Configura URL.
- Nel campo URL, specificare filtered_records.jsp come pagina di destinazione e lasciare vuoto il campo Etichetta.
Rilasciando il collegamento direttamente in un controllo output e lasciando
il campo Etichetta vuoto, il collegamento ipertestuale utilizzerà il testo {MAINCATEGORY} come etichetta di collegamento ipertestuale.
- Fare clic su OK.
- Fare clic sull'Icona Collegamento
, quindi scegliere la scheda Parametri nella vista Proprietà.
- Fare clic su Aggiungi parametro per creare un nuovo parametro.
- Immettere CAT nel campo Nome per il nuovo parametro.
- Per associare il parametro CAT alla colonna MAINCATEGORY nel modulo di input, selezionare il campo Valore, quindi fare clic sul pulsante Seleziona oggetto dati pagina
in quel campo. Si apre la finestra Selezione oggetto dati pagina.
- Nel campo Oggetti dati, fare clic sulla colonna MAINCATEGORY dall'elenco record relazionali all_recordlist(ADS).
- Fare clic su OK.
- Salvare la pagina e verificarla. Quando si fa clic sul nome di una categoria, si verrà indirizzati alla
pagina filtered_records.jsp, che visualizza solo gli annunci economici che appartengono a quella categoria.
Congratulazioni!
Il Modulo 1: Creazione di pagine con connessioni di dati è stato completato. In questo modulo è stato illustrato come:
- Visualizzare le informazioni dai database alle pagine Web
- Utilizzare record relazionali, elenchi record relazionali e tabelle dati
- Visualizzare, creare, modificare ed eliminare record di database da una pagina Web
- Collegare un record oppure un gruppo di record utilizzando i componenti collegamento ipertestuale e casella combinata
Aggiunta di funzioni avanzate
Questo modulo ha introdotto l'utente agli strumenti e alla tecnologia JavaServer Faces.
Vi sono tante altre operazioni e procedure che è possibile eseguire per accrescere l'efficienza,
l'utilizzabilità del sito e per renderlo più interessante. Nel modulo successivo, Modulo 2: Aggiunta di funzioni avanzate, verrà illustrato come trasformare questo sito di esempio in
un'applicazione più complessa e più gradevole da un punto di vista visivo. Continuare con il modulo successivo se
si desidera scoprire in che modo è possibile trasformare il sito e renderlo come riportato nella seguente immagine:
