< Indietro | Avanti >

Lezione 1.5: Programmazione del pulsante Inoltra

Quando il modulo di input viene inoltrato, la pagina aggiunge automaticamente il nuovo record al database. In questa lezione, verrà programmato il pulsante Pubblica nuovo annuncio per ritornare alla pagina all_records.jsp e visualizzare immediatamente il nuovo record nel database.

Per programmare il pulsante di inoltro:

  1. Nel file new_record.jsp, fare clic con il tasto destro del mouse sul pulsante Pubblica nuovo annuncio creato nel modulo della 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, quindi fare clic su OK.
  4. Salvare la pagina. Se si desidera tentare di aggiungere un record al database per verificare che si passerà alla pagina all_records.jsp, eseguire new_record.jsp sul server di test.
Come evitare chiavi duplicate
Importante:

Poiché la colonna ID è una chiave primaria nella tabella ADS, non è possibile aggiungere record con un valore ID già esistente nella tabella. Nel Modulo 2, verrà illustrato come utilizzare la generazione chiavi automatica per creare automaticamente una nuova chiave non utilizzata per ciascun nuovo record.

Fino a quel momento, sarà necessario immettere un numero ID non utilizzato in questa pagina per aggiungere un nuovo record. I record forniti con il database utilizzano numeri ID da 1 a 24, per cui è possibile immettere qualsiasi numero superiore a 24 come chiave primaria. Se si immette più di un record, assicurarsi di non duplicare le chiavi.

Bind dell'input al record relazionale (facoltativo)

Il modulo di input nella pagina è un insieme di campi di input JavaServer Faces collegati al record relazionale che è stato creato. Il record relazionale è stato creato per rappresentare un nuovo record nella tabella ADS del database. Il binding è un metodo mediante il quale è possibile collegare un componente di input JavaServer Faces ad una colonna nel record relazionale.

Una volta creato il record relazionale, la procedura guidata collega automaticamente tutte le colonne ai campi di input della pagina. Se si desidera apportare le modifiche manualmente, è possibile eseguire il bind di altre colonne ad altri campi di input. Per eseguire il bind di una colonna del record relazionale al campo di input, trascinare la colonna dalla vista Dati di pagina nel campo. È possibile sperimentare questo processo eliminando e ricreando il campo di input Descrizione nel modulo.

La vista Dati di pagina si trova in genere nell'angolo in basso a sinistra del workbench. Se non si riesce ad individuarla, andare sulla barra dei menu e fare clic su Finestra > Mostra vista > Dati di pagina. In genere, la vista Dati di pagina viene utilizzata solo quando si creano pagine Web dinamiche.

La vista Dati di pagina archivia le connessioni alle origini dati, ad esempio i database, nel modulo degli oggetti dati, quali record relazionali o elenchi di record relazionali. Questi oggetti dati non rappresentano l'origine dati o i componenti nella pagina. Al contrario, questi oggetti dati rappresentano una connessione tra il progetto e un'origine dati. Una volta creata la connessione, è possibile trascinare un oggetto dati dalla vista Dati di pagina ad una pagina Web, per completare la connessione e visualizzare informazioni dall'origine dati nella pagina Web. Ad esempio, di seguito viene riportata un'immagine della vista Dati di pagina, che mostra un elenco di record relazionali creato durante questa esercitazione:

Vista Dati di pagina.

In questa immagine, è possibile visualizzare l'elenco di record relazionali all_recordlist (ADS), seguito da tutte le colonne dell'elenco. Una volta definito l'oggetto dati nella vista Dati di pagina, è possibile trascinare queste colonne nei componenti di input di una pagina Web per il numero di volte desiderato, senza eseguire nuovamente la connessione al database.

Ad esempio, se si desidera visualizzare il valore della colonna DESCRIPTION nella pagina Web, trascinare prima un campo di output del testo nella pagina, quindi trascinare la colonna DESCRIPTION dalla vista Dati di pagina nel campo di output di testo. Questa procedura è definita binding di una colonna ad un campo di output.

In alternativa, se si desidera consentire all'utente di immettere un nuovo valore per la colonna DESCRIPTION nel database, è possibile trascinare il campo di input di testo nella pagina. Trascinare quindi la colonna DESCRIPTION nel campo di input di testo.

La procedura che segue viene fornita per illustrare il concetto di campo di input e il processo di binding; tuttavia, è facoltativo eseguire questa procedura in questa esercitazione. Se non si desidera eseguire questa procedura, passare alla lezione successiva.

  1. Nel file new_record.jsp, fare clic sul campo di input Descrizione. Premere il tasto Canc.
  2. Nella vista Tavolozza, fare clic sul cassetto Componenti Faces avanzati per espanderlo.
  3. Trascinare un componente Input dalla tavolozza alla cella contenente il campo di input Descrizione appena eliminato. In questa cella, è ora presente un campo di input, ma non è presente alcun testo {ID} o {TITLE}, in quanto il campo di input non è collegato ad alcuna colonna.
  4. Nella vista Dati di pagina, fare clic per espandere Record relazionali SDO > create_record (Service Data Object) > create_record (ADS) e trascinare la colonna DESCRIPTION nel componente Input appena creato. Il testo all'interno del componente Input viene modificato, ad indicare che è ora collegato alla colonna DESCRIPTION, come nella seguente immagine:
    Vista Dati di pagina.
  5. Salvare il file e, se si desidera, eseguire quindi la pagina sul server di test.

Punto di controllo della lezione

La lezione 1.5 è stata completata. In questa lezione è stato illustrato come programmare un pulsante di comando e collegare i dati ad un campo di input trascinando e rilasciando un widget JSF dalla tavolozza ad una pagina Web.

Feedback
< Indietro | Avanti >