< Indietro | Avanti >

Lezione 1.6: Creazione di una pagina di aggiornamento

A questo punto, sono state create pagine per la visualizzazione e la creazione di elenchi per il sito Web. In questo esercizio verrà creata una pagina che consente agli utenti di aggiornare ed eliminare gli elenchi. La pagina di aggiornamento è quasi uguale alla pagina di creazione, ma nei campi di input della pagina di aggiornamento verranno visualizzati dati di un record esistente per la modifica da parte dell'utente.

Verrà innanzitutto creato un record relazionale che rappresenta un record esistente del database. Successivamente verrà creato un modulo di aggiornamento JavaServer Faces per tale record relazionale, e dopo lievi modifiche la pagina sarà pronta per la verifica.

Creazione del record relazionale di aggiornamento

  1. Nella vista Esplora progetti fare doppio clic sul file update_record.jsp per aprirlo.
  2. Eliminare il testo predefinito Default content for bodyarea.
  3. Nella vista Tavolozza, fare clic sul cassetto Dati per espanderlo.
  4. Trascinare il componente Record relazionale dalla Tavolozza all'area del contenuto vuota. Viene aperta la finestra Aggiungi record relazionale.
  5. Nel campo Nome, immettere update_record.
  6. In Crea controlli per, fare clic su Aggiornamento record esistente.
  7. Accertarsi che l'opzione Aggiungi controlli input/output per visualizzare il record relazionale nella pagina web sia selezionata.
  8. Fare clic su Avanti.
  9. Nella casella Tabelle, espandere W5SAMPLE e selezionare ADS.
  10. Fare clic su Avanti. Viene aperta la pagina Aggiungi elenco relazionale.

Filtraggio dei risultati

Un record relazionale può mostrare solo un record del database. È necessario, quindi, filtrare la tabella del database in modo che all'utente appaia un solo record da modificare (nell'esercizio precedente non è stato necessario filtrare il database poiché è stato creato un nuovo record, per cui non vi erano risultati da filtrare nel database). Dal momento che ogni record nel database ha un numero ID univoco, verranno filtrati i risultati per un record con un dato numero ID.

  1. La pagina Aggiungi record relazionale dispone di un elenco di link alle attività. In Attività, fare clic su Filtra risultati. Viene aperta la finestra Filtri e viene inserita la condizione di filtro predefinita ID = #{param.ID} nella colonna Filtro. La finestra Filtri appare simile alla seguente:
    Finestra Filtri.
    Questo codice filtra i record nel database in modo tale che solo il record con il numero ID specificato verrà visualizzato nel record relazionale. Ulteriori informazioni su questa condizione sono fornite nella sezione Aggiunta azione di riga di questo esercizio. Fare clic su Chiudi.
  2. Fare clic su Avanti. Viene aperta la pagina Configurazione controlli dati.
  3. Nella sezione Campi da visualizzare, selezionare la casella di controllo accanto a ciascun campo tranne quelli che si desidera visualizzare nel modulo di input:
    • ID
    • TITLE
    • DESCRIPTION
    • MAINCATEGORY
    • PRICE
    • PHONE
  4. Facendo clic su Su o Giù, riordinare i nomi dei campi dall'alto in basso come segue:
    • ID
    • TITLE
    • DESCRIPTION
    • MAINCATEGORY
    • PRICE
    • PHONE
  5. Per il campo ID, selezionare Campo di output dall'elenco a discesa nella colonna Tipo di controllo. Ora, occorre fare in modo che l'utente possa visualizzare un numero ID di record, ma che non possa aggiornarlo. Trasformando il campo ID in un campo di output, si eviterà il problema di ID duplicati.
  6. Fare clic su Opzioni. Viene aperta la finestra Opzioni. Accertarsi che sia selezionata l'opzione Pulsante di inoltro. Immettere Aggiorna nel campo Etichetta. Scegliere OK. La finestra Aggiungi record relazionali appare simile alla seguente:
    Finestra Aggiungi record relazionali.
  7. Fare clic su Fine per generare il modulo di aggiornamento sulla pagina, come mostrato di seguito:
    Pagina del modulo di aggiornamento.

Programmazione dei pulsanti di aggiornamento e cancellazione

Verrà aggiunto il codice per indirizzare l'utente alla pagina all_records.jsp per visualizzare il record modificato assieme a tutti gli altri record.

  1. Fare clic con il pulsante destro del mouse sul pulsante Aggiorna appena creato nella pagina Web e selezionare Proprietà.
  2. Fare clic su Aggiungi regola. Viene aperta la finestra Aggiungi regola di navigazione.
  3. Dall'elenco a discesa Pagina, selezionare all_records.jsp. Nella casella Questa regola viene utilizzata da, fare clic su Solo questa azione. Verificare che il campo contenga:#{pc_Update_record.doUpdate_recordUpdateAction}. Scegliere OK.
  4. Ripetere le fasi 1-3 per modificare allo stesso modo il codice per il pulsante Elimina sulla pagina Web. Verificare che il campo Questa regola viene utilizzata da contenga: #{pc_Update_record.doUpdate_recordDeleteAction}
  5. Salvare la pagina. Se si desidera provare ad aggiungere un record al database per verificare che si torna alla pagina all_records.jsp, eseguire il file new_record.jsp sul server di verifica.

Aggiungere un'azione di riga

In questa fase verrà aggiunta un'azione di riga alla tabella su all_records.jsp in modo che l'utente possa selezionare un record di database da aggiornare. #{param.ID} rappresenta il numero ID del record che verrà aggiornato dalla pagina di aggiornamento. Quando l'utente fa clic su una riga, quel numero dell'ID del record verrà inviato alla pagina update_record.jsp come parametro #{param.ID}. Il record relazionale filtrato appena inserito nella pagina update_record.jsp, quindi, visualizzerà solo il record da aggiornare.

  1. Nella vista Esplora progetti, fare doppio clic sul file all_records.jsp per aprirlo nell'editor. Fare clic in un punto qualunque nella tabella di dati. Aprire la vista Proprietà.
  2. Nella vista Proprietà, fare clic sulla scheda Azioni di riga in hx:dataTableEx dall'elenco delle tag HTML.
  3. Fare clic su Aggiungi un'azione eseguita facendo clic su una riga. Si apre la finestra di dialogo Configura RowAction. Selezionare Facendo clic sulla riga si invia una richiesta al server con le informazioni di riga inviate come parametri quindi fare clic su OK. Viene aggiunta una colonna alla tabella dati.
  4. Nella vista Proprietà, fare clic sulla scheda hx:requestRowAction.
  5. Fare clic su Aggiungi regola. Viene aperta la finestra Aggiungi regola di navigazione.
  6. Dall'elenco a discesa Pagina, selezionare update_records.jsp. Nella casella Questa regola viene utilizzata da, selezionare Solo questa azione. Nel campo Solo questa azione, viene automaticamente inserito #{pc_All_records.doRowAction1Action}, creato quando è stata aggiunta l'azione riga. Scegliere OK. Se nel campo non viene inserito automaticamente il metodo riportato in alto, immettere il metodo nel campo e aggiungere quanto segue a ClassifiedsTutorial/Java Resources: src/pagecode/All_records.java:
    	public String doRowAction1Action() {
    				return "";
  7. Nella vista Proprietà, fare clic sulla scheda Parametro in hx:requestRowAction. Fare clic su Aggiungi parametro quindi immettere ID nel campo Nome. È necessario associare il parametro ID alla colonna ID. L'associazione dell'azione riga alla colonna ID dell'elenco dati implica che facendo clic sulla riga, il parametro richiesto sarà l'ID del record nell'elenco.
    1. Fare clic su Valore quindi fare clic sul pulsante Seleziona oggetto dati di pagina .
    2. Nella scheda Oggetti dati, espandere all_recordlist (Service Data Object) > all_recordlist (ADS)e selezionare ID (java.lang.Integer).
    3. Scegliere OK.
A questo punto, quando l'utente fa clic su una riga, nel sito Web l'utente sarà in grado di aggiornare le informazioni relative all'annuncio pubblicitario classificato. Salvare il file e verificare la pagina, se necessario. Aprire prima all_records.jsp, perché questa è la pagina che si collega a update_record.jsp.

Riepilogo di controllo della lezione

La lezione 1.6 è terminata. In questa lezione si è appreso come creare pagine Web e aggiornare record in un database.

< Indietro | Avanti >