Esercizio 1.4: Creazione di pagine per la creazione e l'aggiornamento delle informazioni utente
Prima di iniziare, è necessario completare l'Esercizio 1.3: Sviluppo della pagina UserAdmin.
Sulla base del flusso dell'applicazione definito nel diagramma Web, dovrebbero esserci pagine UserAdmin differenti per la creazione di informazioni utente
(UserAdminCreate.jsp) e per l'aggiornamento delle informazioni utente esistenti (UserAdminUpdate.jsp).
Creazione della pagina UserAdminCreate.jsp
In questa parte dell'esercizio, l'utilizzo di un bean di sessione creerà un accesso dati nella pagina UserAdminCreate che consente all'amministratore di creare nuovi record utente. Dal momento che un valore ID utente è obbligatorio per la creazione di nuovi record utente, questa pagina contiene anche logica di validazione. Inoltre, verrà aggiunto un pulsante Cancel per consentire all'utente di terminare questo processo.
- Ritornare all'editor Diagramma Web e fare doppio clic sulla pagina UserAdminCreate.jsp.
- Fare clic su Fine nella procedura di creazione guidata.
Il file vuoto si apre
nell'area di modifica.
- Eliminare il testo predefinito Place content here.
- Trascinare l'oggetto Bean di sessione EJB dal cassetto Dati
dalla tavolozza al file.
- Quando la procedura guidata Bean di sessione viene visualizzata, selezionare ejb/UserFacade e fare clic su Avanti.
- Selezionare l'interfaccia create(RegistrationData data), che verrà utilizzata per il campo di input nella pagina del portlet.
- Fare clic su Avanti.
- Nella pagina Modulo di input, verrà definito il modulo di input che creerà nuovi dati nel database. Fare clic su Nessuno per deselezionare tutti i campi in modo che sia possibile selezionare, organizzare e configurare individualmente i campi appropriati per il modulo di input da utilizzare nella pagina del portlet. Successivamente, selezionare le caselle di controllo per i seguenti campi:
- data.userid
- data.name
- data.email
- Utilizzando i pulsanti freccia su e giù, spostare i campi di dati selezionati nell'ordine riportato nel precedente passaggio.
- Selezionare e modificare il valore Etichetta per il campo data.userid in User ID:.
- Fare clic sul pulsante Opzioni e immettere Create nel campo Etichetta. Fare clic su OK.
- Fare clic su Fine per generare il modulo di input nella pagina
UserAdminCreate.jsp. L'interfaccia utente sarà simile alla seguente:

- Selezionare il pulsante Create nella pagina.
- Aprire la vista Proprietà se non è già attiva, quindi fare clic sul pulsante Aggiungi regola. È possibile che sia necessario scorrere la pagina verso destra.
.
- Nella finestra di dialogo Aggiungi regola di navigazione, selezionare UserAdminView.jsp dal casella di riepilogo Pagina.
- Selezionare il pulsante di scelta L'outcome con nome e immettere view.
- Fare clic su OK.
- Fare clic sulla scheda della vista Modifica rapida. Fare clic sull'area di modifica di Modifica rapida e immettere "view" nella stringa:
return "view";
Aggiunta di logica per la convalida
Dal momento che il valore dell'ID utente è un input obbligatorio per questa pagina, è necessario aggiungere logica per convalida per controllare l'ID utente sia specificato.
- Selezionare il componente Input User ID:.
- Aprire la vista Proprietà.
- Selezionare la scheda Convalida.
- Fare clic sulla casella Valore obbligatorio.
- Salvare UserAdminCreate.jsp.
Non occorre scrivere codice necessario per eseguire questa porzione
di applicazione. Viene generata tutta la logica di riferimento EJB e il codice per associare
richiamo e risultati per l'interfaccia utente.
Aggiunta del pulsante Cancel
È necessario aggiungere un pulsante Cancel, insieme ai collegamenti per la navigazione appropriati nella pagina di ricerca:
- Trascinare un Comando - Pulsante dal cassetto della tavolozza Componenti Faces e rilasciarlo accanto al pulsante Crea.
- Se non è ancora attiva, aprire la vista Proprietà.
- Scegliere la scheda Opzioni di visualizzazione nel set di proprietà e immettere Cancel nel campo Etichetta pulsante e premere Invio.
- Fare clic sulla scheda della vista Modifica rapida. Fare clic sull'area di modifica Modifica rapida e immettere "view" nella stringa:
return "view";
- Salvare il file. A questo punto, la pagina UserAdminCreate.jsp dovrebbe essere simile a quella riportata nella seguente immagine:

Creazione della pagina UserAdminUpdate.jsp
Utilizzando un JavaBean, verrà creato un accesso dati per aggiornare le informazioni utente nella pagina UserAdminUpdate. Inoltre, verrà aggiunto un pulsante Cancel per consentire all'utente di terminare questo processo; infine, verrà aggiunto nuovo codice per ottenere i record esistenti in modo che possano essere aggiornati in questa pagina.
- Ritornare all'editor Diagramma Web e fare doppio clic sulla pagina UserAdminUpdate.jsp.
- Fare clic su Fine nella procedura di creazione guidata.
Il file vuoto si apre
nell'area di modifica.
- Eliminare il testo predefinito Place content here.
- Trascinare l'oggetto Bean di sessione EJB dal cassetto Dati
dalla tavolozza al file.
- Quando la procedura guidata Bean di sessione viene visualizzata, selezionare ejb/UserFacade e fare clic su Avanti.
- Selezionare l'interfaccia update(RegistrationData data), che verrà utilizzata per il campo di input nella pagina del portlet.
- Fare clic su Avanti.
- Nella pagina Modulo di input, verrà definito il modulo di input che aggiornerà i dati nel database. Fare clic su Nessuno per deselezionare tutti i campi in modo che sia possibile selezionare, organizzare e configurare individualmente i campi appropriati per il modulo di input da utilizzare nella pagina del portlet. Successivamente, selezionare le caselle di controllo per i seguenti campi:
- data.userid
- data.name
- data.email
- Utilizzando i pulsanti freccia su e giù, spostare i campi di dati selezionati nell'ordine riportato nel precedente passaggio.
- Selezionare e modificare il valore Etichetta per il campo data.userid in User ID:.
- Selezionare Campo di output dall'elenco Tipo di controllo per data.userid, in quanto si desidera impedire la modifica dell'ID quando si aggiornano altre informazioni nel portlet.
- Fare clic sul pulsante Opzioni e immettere Update nel campo Etichetta. Fare clic su OK.
- Fare clic su Fine per generare il modulo di input nella pagina
UserAdminUpdate.jsp. L'interfaccia utente sarà simile alla seguente:

- Selezionare il pulsante Update nella pagina.
- Aprire la vista Proprietà se non è già attiva, quindi fare clic sul pulsante Aggiungi regola. È possibile che sia necessario scorrere la pagina verso destra.
- Nella finestra di dialogo Aggiungi regola di navigazione, selezionare UserAdminView.jsp dal casella di riepilogo Pagina.
- Selezionare il pulsante di scelta L'outcome con nome e immettere view.
- Fare clic su OK.
- Fare clic sulla scheda della vista Modifica rapida. Fare clic sull'area dei modifica Modifica rapida e immettere "view" nella stringa:
return "view";
Non occorre scrivere codice necessario per eseguire questa porzione
di applicazione. Viene generata tutta la logica di riferimento EJB e il codice per associare
richiamo e risultati per l'interfaccia utente.
Aggiunta del pulsante Cancel
È necessario aggiungere un pulsante Cancel, insieme ai collegamenti per la navigazione appropriati nella pagina di ricerca:
- Trascinare un Comando - Pulsante dal cassetto della tavolozza Componenti Faces e rilasciarlo accanto al pulsante Aggiorna.
- Se non è ancora attiva, aprire la vista Proprietà.
- Scegliere la scheda Opzioni di visualizzazione nel set di proprietà e immettere Cancel nel campo Etichetta pulsante e premere Invio.
- Fare clic sulla scheda della vista Modifica rapida. Fare clic sull'area di modifica di Modifica rapida e immettere "view" nella stringa:
return "view";
- Salvare il file. A questo punto, la pagina UserAdminUpdate.jsp dovrebbe essere simile a quella riportata nella seguente immagine:

Aggiunta di codice per l'aggiornamento dei record esistenti
La logica di aggiornamento in questa fase dell'esercizio, consente all'applicazione di ottenere record esistenti in modo che un utente possa aggiornarli con questa pagina. Il modulo viene riempito con dati rilevanti inizializzando il bean di parametro utilizzando un metodo fornito da UserFacade, findById().
- Selezionare Modifica codice pagina dal menu a comparsa di UserAdminUpdate.jsp. Il codice della pagina si trova nel file Java che contiene la logica sottostante per UserAdminUpdate.jsp. Inserire il seguente codice (la parte in grassetto):
public UserFacadeLocalUpdateParamBean getUserFacadeLocalUpdateParamBean() {
if (userFacadeLocalUpdateParamBean == null) {
userFacadeLocalUpdateParamBean = new UserFacadeLocalUpdateParamBean();
Integer userid = (Integer)getSessionScope().get("userid");
try {
userFacadeLocalUpdateParamBean.setData(getUserFacadeLocal()
.findById(userid));
} catch (Exception e) {
logException(e);
}
}
return userFacadeLocalUpdateParamBean;
}
- Salvare e chiudere UserAdminUpdate.java.
Aggiunta di collegamenti per la navigazione all'interno della pagina
Infine, per completare il portlet UserAdmin, è necessario aggiungere collegamenti per fornire la navigazione dalla pagina master (UserAdminView.jsp) alle pagine dettagli (UserAdminCreate.jsp e UserAdminUpdate.jsp). Per aggiungere i collegamenti, completare la seguente procedura:
- Ritornare al file Diagramma Web per un controllo finale al diagramma Web completo:

Tutti i nodi pagina Web sono stati realizzati e i collegamenti relativi ai pulsanti di comando sono operativi.
- Aprire UserAdminView.jsp.
- Trascinare un componente Collegamento dal cassetto della tavolozza dei Componenti Faces e rilasciarlo accanto alla tabella dati nel file.
- Immettere /UserAdminCreate.jsp nel campo URL e Create nel campo Etichetta. Fare clic su OK.
- Trascinare un componente Comando - Collegamento ipertestuale dal cassetto della tavolozza dei Componenti Faces e rilasciarlo nel campo di output {userid} nella tabella dati.
- Aprire la vista Proprietà se non è già attiva, quindi fare clic sul pulsante Aggiungi regola. È possibile che sia necessario scorrere la pagina verso destra.
- Nella finestra di dialogo Aggiungi regola di navigazione, selezionare UserAdminUpdate.jsp dalla casella di riepilogo Pagina.
- Selezionare il pulsante di scelta L'outcome con nome e immettere update.
- Fare clic su OK.
- Selezionare la scheda Parametro nella vista Proprietà.
- Fare clic sul pulsante Aggiungi parametro.
- Immettere userid nel campo Nome.
- Fare clic sulla cella nel campo Valore, quindi fare clic sull'icona Sfoglia per aprire la finestra di dialogo Selezione oggetto dati pagina. Espandere userFacadeLocal > findByName(java.lang.String) > userFacadeLocalFindByNameResultBean e selezionare userid (java.lang.Integer) nella finestra di dialogo Selezione oggetto dati pagina.

- Fare clic su OK.
Successivamente, è necessario aggiungere codice per memorizzare il parametro nell'ambito della sessione, in modo che la pagina update possa utilizzare l'ID utente per fornire le informazioni utente nel modulo di input della pagina update.
- Fare clic sulla scheda della vista Modifica rapida. Fare clic nell'area di modifica della vista Modifica rapida: in tal modo verrà creato un modello per il codice dell'azione associata al pulsante Update e immettere il seguente codice:
String userid = (String)getRequestParam().get("userid");
getSessionScope().put("userid", new Integer(userid));
return "update";
- Salvare e chiudere il file.
Esecuzione del portlet UserAdmin
Per verificare che le pagine del portlet UserAdmin funzionino come previsto, è necessario
eseguire il file JSP nel browser interno fornito con Rational
Developer. Per eseguire il portlet UserAdmin, effettuare le seguenti operazioni:
- Selezionare il progetto AuctionPortlet in Esplora progetti e selezionare Esegui > Esegui su server dal menu a comparsa.
- A questo punto, è possibile che sia necessario specificare il server ambiente di test di WebSphere Portal v5.0 come server di destinazione. Dal momento che WebSphere Portal v5.0 Test Environment è stato già definito, selezionarlo e fare clic su Fine nella procedura guidata Selezione server.
- Il file verrà visualizzato nel browser. Qui è possibile visualizzare i campi di input,
i collegamenti e il layout di sito di portale.
- Immettere % nel campo Nome e fare clic sul pulsante Trova per recuperare dal database un elenco degli utenti esistenti.

Quando si seleziona il collegamento Create oppure un utente nella tabella dati, si aprono, rispettivamente, la pagina UserAdminCreate o UserAdminUpdate. Se si forniscono valori in entrambe le pagine e si fa clic sul pulsante Create o Update, le aggiunte oppure gli aggiornamenti verranno accettati. I dati aggiornati dovrebbero essere visualizzati immediatamente nella pagina UserAdminView. Se il nome di ricerca corrisponde a un nome utente che è stato creato, (ad esempio, è possibile utilizzare un carattere jolly % per visualizzare tutti gli utenti), il nuovo utente dovrebbe essere visualizzato quando si ritorna dalla pagina create.
Prima di passare all'esercizio successivo, è consigliabile arrestare il server dell'ambiente di verifica. Per arrestare questo server, è sufficiente selezionarlo e nella vista Server e fare clic sul pulsante Arresta il server sulla barra degli strumenti
.
A questo punto, è possibile iniziare l'Esercizio 1.5: Aggiunta di portlet che eseguono ricerche negli elenchi del sito asta e forniscono dettagli sugli elenchi.