Esercizio 1.4: Creazione di nuovi record

Prima di iniziare, è necessario completare l'Esercizio 1.3: Verifica del sito Web.

In questo esercizio verrà creata una pagina che consente agli utenti di creare nuovi annunci economici e di inviarli al database. Come prima cosa, verrà creato un record relazionale per rappresentare un nuovo record nel database, quindi verrà creata una visualizzazione del record nella pagina sotto forma di campi di input.

Creazione del record relazionale

Mostra
  1. Nella vista Esplora progetti, fare doppio clic sul file new_record.jsp per aprirlo.
  2. Eliminare il testo predefinito Place content here.
  3. Nella vista Tavolozza, fare clic sul cassetto Dati per espanderlo.
  4. Trascinare il componente Record relazionale dalla Tavolozza nell'area di contenuto vuota. Si apre la finestra Aggiunta record relazionale.

    Se viene visualizzato un messaggio di avviso in cui si comunica che non è possibile stabilire una connessione al database, è possibile che il server di verifica non sia stato arrestato dopo aver eseguito la verifica del sito Web. In tal caso, fare clic su Annulla ciascuna finestra di dialogo e arrestare il server come descritto nella sezione Arresto del server nell'Esercizio 1.3: Verifica del sito Web.

  5. Nel campo Nome, immettere create_record.
  6. In Crea controlli per, fare clic su Creazione di un nuovo record.
  7. Assicurarsi che Aggiungi controlli input/output per visualizzare il record nella pagina Web sia selezionata.

    La finestra Aggiunta record relazionale dovrebbe essere simile a quella riportata nella seguente immagine:

    Finestra Aggiunta record relazionale

  8. Fare clic su Avanti.
  9. Nella casella Tabella, fare clic sulla tabella W5SAMPLE.ADS.
  10. Fare clic su Avanti.
  11. Fare di nuovo clic su Avanti. Si apre la pagina Configurazione controlli per dati.

Personalizzazione della visualizzazione dei record relazionali

Mostra

Nella pagina Configurazione controlli per dati è possibile personalizzare la visualizzazione del record relazionale. Ad esempio, è possibile modificare le colonne, le etichette dei campi e il pulsante di inoltro nel modulo di input. Dopo aver eseguito queste operazioni, un modulo di input completamente funzionale.

  1. Nella sezione Campi da visualizzare, deselezionare la casella di controllo accanto al nome di ogni campo, fatta eccezione per quelli che si desidera inserire nel modulo di input:
  2. Ridisporre i campi nel seguente ordine dall'alto verso il basso:
    1. ID
    2. TITLE
    3. DESCRIPTION
    4. MAINCATEGORY
    5. PRICE
    6. PHONE
    Per modificare l'ordine dei campi, fare clic sul nome di un campo, quindi fare clic sulle frecce Su oppure Giù .
  3. Ridenominare le etichette come si desidera. Ad esempio, è possibile abbreviare l'etichetta "Maincategory:" in "Category:".

    Per ridenominare le etichette generate per i campi di input, fare clic su un'etichetta dalla colonna Etichetta. L'icona del mouse si trasforma in cursore, cosicché è possibile immettere nuovo testo.

  4. Fare clic su Opzioni. Si apre la finestra Opzioni.
  5. Assicurarsi che l'opzione relativa al pulsante Inoltra sia selezionata.
  6. Immettere Post New Listing nel campo Etichetta.
  7. Fare clic su OK.

    La finestra Aggiunta record relazionale dovrebbe essere simile a quella riportata di seguito:

    Finestra Aggiunta elenco record relazionali

  8. Fare clic su Fine per generare il modulo di input. Dovrebbe essere simile al modulo riportato nella seguente immagine:

    Aspetto corrente della pagina

    Il modulo contiene un campo Messaggi di errori. Ciò non significa che il progetto contenga errori, ma questo campo indica il punto in cui verranno visualizzati gli eventuali errori durante l'inoltro del modulo da parte dell'utente.

Programmazione del pulsante Inoltra

Mostra

Dopo aver inoltrato il modulo di input, la pagina aggiungerà automaticamente il nuovo record al database. È possibile programmare il pulsante Post New Listing per ritornare alla pagina all_records.jsp, in modo che sia possibile visualizzare immediatamente il nuovo record nel database. A tale scopo, completare la seguente procedura:

  1. Nel file new_record.jsp, fare clic sul pulsante Post New Listing creato nel modulo nella pagina Web.
  2. Aprire la vista Modifica rapida.

    Di solito la vista Modifica rapida si trova al centro in basso nel workbench, nelle schede accanto alla vista Proprietà. Se non è possibile trovare la vista Modifica rapida, dalla barra dei menu fare clic su Finestra > Mostra vista > Modifica rapida.

    La vista Modifica rapida è un editor Java sensibile al contesto che consente di scrivere eventi di codice per i componenti Faces. La vista Modifica rapida contiene il codice generato che gestisce la creazione di un nuovo record nel database, come illustrato nella seguente immagine:

    Esempio di codice

  3. Nella vista Modifica rapida, fare clic per posizionare il cursore immediatamente prima di return "";
  4. Premere Invio. Una nuova riga viene visualizzata prima di return "";
  5. Fare clic con il tasto destro del mouse sulla nuova riga vuota, quindi scegliere Inserisci frammento > Vai alla pagina dal menu di scelta rapida. Si apre la finestra Modifica azione GotoPage.
  6. Dall'elenco a discesa, selezionare all_records.jsp come pagina di destinazione.
  7. Fare clic su OK.
  8. Il codice dell'evento per il pulsante dovrebbe essere simile al codice riportato nella seguente immagine:

    Esempio di codice

  9. Salvare il file, quindi, se si desidera, eseguire la pagina sul server di verifica. Quando si esegue la pagina sul server di verifica, è possibile aggiungere nuovi record e ritornare alla pagina all_records.jsp per visualizzarli.

Come impedire la creazione di chiavi duplicate

Dal momento che la colonna ID è una chiave primaria nella tabella ADS, non è possibile aggiungere record con un valore ID che già esiste nella tabella. Nel Modulo 2, verrà descritto come utilizzare la generazione chiave automatica per creare automaticamente una chiave nuova, non utilizzata per ciascun nuovo record.

Per ora, è necessario immettere un numero ID non utilizzato in questa pagina per aggiungere un nuovo record. I record forniti dal database utilizzano numeri ID compresi tra 1 a 22, pertanto è possibile specificare come chiave primaria qualsiasi numero maggiore di 22. Assicurarsi di non immettere le stesse chiavi se si immette più di un record.

Binding di input al record relazionale (facoltativo)

Mostra

Il modulo di input nella pagina è composto da una serie di campi di input JavaServer Faces che sono stati associati al record relazionale che è stato creato. È bene ricordare che il record relazionale è stato creato per rappresentare un nuovo record nella tabella ADS del database. Il binding è un metodo che consente di collegare un componente input JavaServer Faces a una colonna del record relazionale.

Quando è stato creato il record relazionale, la procedura guidata ha automaticamente associato tutte le sue colonne ai campi di input nella pagina. Se si desidera apportare modifiche manualmente, è possibile associare altre colonne ad altri campi di input. Per associare una colonna del record relazionale al campo di input, trascinare la colonna dalla vista Dati di pagina nel campo. È possibile provare questo processo eliminando e ricreando il campo Description del modulo. Ulteriori informazioni sulla vista Dati di pagina.

La procedura riportata di seguito viene fornita per illustrare il concetto di campo di input e il processo di binding; tuttavia, si tratta di un passaggio di questa esercitazione facoltativo. Se non si desidera completare la procedura riportata di seguito, passare all'Esercizio 1.5: Creazione di una pagina di aggiornamento.

  1. Nel file new_record.jsp, fare clic sul campo di input Description.
  2. Premere il tasto Elimina.
  3. Nella vista Tavolozza, fare clic sul cassetto Componenti Faces per espanderlo.
  4. Trascinare un componente Input dalla Tavolozza nella cella che conteneva il campo di input Description appena eliminato.

    A questo punto, questa cella contiene un campo di input, ma non vi è alcun testo come {ID} o {TITLE} all'interno in quanto questo campo di input non è associato ad alcuna colonna.

  5. Nella vista Dati di pagina, trascinare la colonna DESCRIPTION nel componente Input appena creato. Il testo all'interno del componente Input viene modificato per indicare che è ora associato alla colonna DESCRIPTION, come riportato nella seguente immagine:

    Binding di una colonna al campo di input

  6. Salvare il file, quindi, se si desidera, eseguire la pagina sul server di verifica.

È ora possibile creare e modificare i moduli di input JavaServer Faces. A questo punto, è possibile iniziare l'Esercizio 1.5: Creazione di una pagina di aggiornamento.

Termini di utilizzo | Feedback
(C) Copyright IBM Corporation 2000, 2004. Tutti i diritti riservati.