< Indietro | Avanti >

Lezione 1.6: Creazione di una pagina di aggiornamento

A questo punto, sono state create le pagine per la visualizzazione e la creazione di annunci per il sito Web. In questo esercizio, verrà creata una pagina che consente agli utenti di aggiornare ed eliminare gli annunci. La pagina di aggiornamento avrà un aspetto quasi uguale alla pagina di creazione ma, nella pagina di aggiornamento, i campi di input visualizzeranno i dati di un record esistente, per consentirne la modifica da parte dell'utente.

Innanzitutto, verrà creato un record relazionale, che rappresenta un record esistente del database. Quindi, verrà creato un modulo di aggiornamento JavaServer Faces per questo record relazionale e, dopo alcune piccole modifiche, la pagina sarà pronta per il test.

Creazione del record relazionale di aggiornamento

  1. Aprire il file update_record.jsp facendo doppio clic sul file nella vista Esplora enterprise.
  2. Eliminare il testo predefinito Inserire il contenuto qui.
  3. Nella vista Tavolozza, fare clic sul cassetto Dati e servizi per espanderlo.
  4. Trascinare il componente Record relazionale SDO dalla Tavolozza all'area di contenuto vuota. Viene visualizzata la finestra Aggiungi record relazionale.
  5. Nel campo Nome, immettere update_record.
  6. In Crea controlli per, fare clic su Aggiornamento di un record esistente.
  7. Verificare che l'opzione Aggiungi controlli di input/output per visualizzare il record relazionale nella pagina Web sia selezionata.
  8. Fare clic su Avanti.
  9. Nella casella Tabella, espandere W5SAMPLE e selezionare ADS.
  10. Fare clic su Avanti. Si apre la pagina Aggiungi record relazionale.

Filtraggio dei risultati

Un record relazionale può mostrare un solo record del database. Quindi, è necessario filtrare la tabella di database, in modo che un solo record venga visualizzato per la modifica da parte dell'utente. Non è necessario filtrare il database nell'esercizio precedente in quanto è stato creato un nuovo record e non sono presenti risultati del database da filtrare. Poiché ciascun record del database presenta un numero ID univoco, i risultati verranno filtrati in base al record con un determinato numero ID.
  1. La pagina Aggiungi record relazionale presenta un elenco di link ad attività. In Attività, fare clic su Filtra risultati. Viene visualizzata la finestra Filtri e la condizione di filtro predefinita ID = #{param.ID} viene inserita nella colonna Filtro. La finestra Filtri è simile alla seguente:
    Finestra Filtri.
    Questo codice filtra i record nel database in modo che solo il record con il numero ID specificato venga visualizzato nel record relazionale. Ulteriori informazioni su questa condizione sono fornite nella sezione Aggiunta di un'azione riga più avanti in questo esercizio. Fare clic su Chiudi.
  2. Fare clic su Avanti. Viene visualizzata la pagina Configurazione controlli per i dati.
  3. Nella sezione Campi da visualizzare, deselezionare la casella di spunta accanto a ciascun nome di campo, eccetto quelli che si desidera visualizzare nel modulo di input:
    • ID
    • MAINCATEGORY
    • TITLE
    • DESCRIPTION
    • PRICE
    • PHONE
  4. Facendo clic su Su o Giù, i nomi dei campi vengono riordinati dall'alto verso il basso come segue:
    • ID
    • TITLE
    • DESCRIPTION
    • MAINCATEGORY
    • PRICE
    • PHONE
  5. Per il campo ID, selezionare Numero visualizzazione dall'elenco a discesa nella colonna Tipo di controllo. Gli utenti devono essere in grado di visualizzare un numero ID record, ma non di aggiornarlo. La creazione del campo ID in un campo di output consente di evitare il problema di ID duplicati.
  6. Fare clic su Opzioni. Viene visualizzata la finestra Opzioni. Verificare che l'opzione Pulsante Inoltra sia selezionata. Immettere Aggiorna nel campo Etichetta. Fare clic su OK. La finestra Aggiungi record relazionale dovrebbe essere simile alla seguente:
    Finestra Aggiungi record relazionale.
  7. Fare clic su Fine per generare il modulo di aggiornamento nella pagina, come riportato in basso:
    Pagina modulo aggiornato.

Programmazione dei pulsanti di aggiornamento ed eliminazione

In questa sezione verrà nuovamente aggiunto un codice, per indirizzare l'utente alla pagina all_records.jsp, in cui il record modificato viene visualizzato insieme a tutti gli altri record.
  1. Fare clic con il tasto destro del mouse sul pulsante Aggiorna appena creato nella pagina Web e selezionare Proprietà.
  2. Fare clic su Aggiungi regola. Viene visualizzata la finestra Aggiunta regola di navigazione.
  3. Dall'elenco a discesa delle pagine, selezionare all_records.jsp. Nella casella Questa regola è utilizzata da, fare clic su Solo questa azione. Verificare che il campo contenga: #{pc_Update_record.doUpdate_recordUpdateAction}. Fare clic su OK.
  4. Ripetere i passi 1-3 per modificare il codice allo stesso modo per il pulsante Elimina nella pagina Web. Verificare che il campo Questa regola è utilizzata da contenga: #{pc_Update_record.doUpdate_recordDeleteAction}
  5. Salvare la pagina. Se si desidera tentare di aggiornare un record nel database per verificare che si passerà alla pagina all_records.jsp, eseguire new_record.jsp sul server di test.

Aggiunta di un'azione riga

Ora, un'azione riga verrà aggiunta alla tabella in 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, il numero ID di quel record viene inviato alla pagina update_record.jsp come parametro #{param.ID}. Quindi, nel record relazionale filtrato appena inserito nella pagina update_record.jsp, verrà visualizzato solo quel record per l'aggiornamento.
  1. Nella vista Esplora enterprise, fare doppio clic sul file all_records.jsp per aprire il file nell'editor. Fare clic in un punto qualsiasi della tabella dati. Aprire la vista Proprietà.
  2. Nella vista Proprietà, fare clic sulla scheda Azioni riga in hx:dataTableEx, dall'elenco di tag HTML.
  3. Fare clic su Aggiungi un'azione da eseguire quando si fa clic su una riga. Viene visualizzata la finestra di dialogo Configurazione di un'azione riga. Selezionare Facendo clic sulla riga, invia una richiesta al server con le informazioni di riga inviate come parametri, quindi fare clic su OK. Una colonna viene aggiunta alla tabella dati.
  4. Nella vista Proprietà, fare clic sulla scheda hx:requestRowAction.
  5. Fare clic su Aggiungi regola. Viene visualizzata la finestra di dialogo Aggiunta regola di navigazione.
  6. Dall'elenco a discesa delle pagine, selezionare update_record.jsp. Nella casella Questa regola è utilizzata da, selezionare Solo questa azione. Nel campo Solo questa azione viene inserito automaticamente il parametro #{pc_All_records.doRowAction1Action}, creato con l'aggiunta dell'azione riga. Fare clic su OK. Se nel campo non viene inserito automaticamente il parametro con il metodo descritto sopra, immettere il metodo nel campo ed 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 eseguire il bind del parametro ID alla colonna ID. Eseguendo il bind dell'azione riga alla colonna ID dell'elenco dati, quando la riga viene selezionata, il parametro di richiesta 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 Oggetto dati, espandere all_recordlist (Service Data Object) > all_recordlist (ADS) e selezionare ID (java.lang.Integer).
    3. Fare clic su OK.
Ora, quando l'utente fa clic su una riga, il sito Web consente all'utente di aggiornare le informazioni sull'annuncio pubblicitario. Se si desidera, salvare il file e testare la pagina. Aprire prima all_records.jsp, in quanto questa è la pagina che collega a update_record.jsp.

Punto di controllo della lezione

La lezione 1.6 è stata completata. In questa lezione, è stato illustrato come creare pagine Web che aggiornano i record di un database.

Feedback
< Indietro | Avanti >