Übung 1.4: Seiten zum Erstellen und Aktualisieren von Benutzerinformationen erstellen
Bevor Sie anfangen, müssen Sie die Übung 1.3: Seite UserAdmin entwickeln ausführen.
Entsprechend dem Anwendungsprozess, den Sie im Webdiagramm definiert haben, sollte es jeweils eine separate UserAdmin-Seite zum Erstellen der Benutzerinformationen (UserAdminCreate.jsp) und zum Aktualisieren vorhandener Benutzerinformationen (UserAdminUpdate.jsp) geben.
Seite UserAdminCreate.jsp erstellen
In diesem Teil der Übung erstellen Sie mit einer Session-Bean den Datenzugriff auf die Seite UserAdminCreate. Dies gibt dem Administrator die Möglichkeit, neue Benutzereinträge zu erstellen. Da zum Erstellen neuer Benutzereinträge eine Benutzer-ID erforderlich ist, ist auf dieser Seite auch Validierungslogik enthalten. Darüber hinaus fügen Sie eine Schaltfläche Abbrechen ein, mit deren Hilfe der Benutzer diesen Prozess beenden kann.
- Kehren Sie zum Webdiagrammeditor zurück und doppelklicken Sie auf die Seite UserAdminCreate.jsp.
- Klicken Sie im Erstellungsassistenten auf Fertig stellen.
Im Editierbereich wird die leere Datei geöffnet.
- Löschen Sie den Standardtext Inhalt hier platzieren.
- Ziehen Sie das Objekt EJB-Session-Bean vom Drawer Daten der Palette auf die Datei.
- Wenn der Assistent Session-Bean geöffnet wird, wählen Sie ejb/UserFacade aus und klicken Sie auf Weiter.
- Wählen Sie die Schnittstelle create(RegistrationData data) aus, die als Eingabefeld auf der Portletseite verwendet wird.
- Klicken Sie auf Weiter.
- Auf der Seite Eingabeformular definieren Sie das Eingabeformular, mit dem neue Daten in der Datenbank erstellt werden. Klicken Sie auf Kein, um alle Felder abzuwählen und die geeigneten Felder für das Eingabeformular, das auf der Portletseite verwendet werden soll, individuell auszuwählen, zu organisieren und zu konfigurieren. Aktivieren Sie anschließend die Markierungsfelder für folgende Felder:
- data.userid
- data.name
- data.email
- Verwenden Sie die Schaltflächen mit dem Auf- bzw. Abwärtspfeil, um die ausgewählten Datenfelder in der im obigen Schritt angegebenen Reihenfolge anzuordnen.
- Wählen Sie die Option Kennsatz des Feldes data.userid aus und ändern Sie den Wert in User ID.
- Klicken Sie auf die Schaltfläche Optionen und geben Sie im Feld Kennsatz den Wert Create ein. Klicken Sie auf OK.
- Klicken Sie auf Fertig stellen, um das Eingabeformular auf der Seite UserAdminCreate.jsp zu generieren. Die Benutzeroberfläche sieht in etwa wie folgt aus:

- Wählen Sie auf der Seite die Schaltfläche Erstellen aus.
- Öffnen Sie die Eigenschaftensicht, falls sie nicht bereits aktiv ist, und klicken Sie auf die Schaltfläche Regel hinzufügen. (Unter Umständen müssen Sie nach rechts blättern.)
.
- Wählen Sie im Dialog Navigationsregel hinzufügen im Listenfeld Seite die Option UserAdminView.jsp aus.
- Wählen Sie den Radioknopf Das Ergebnis mit folgendem Namen aus und geben Sie view ein.
- Klicken Sie auf OK.
- Klicken Sie auf die Registerkarte der Sicht Schnellbearbeitung. Klicken Sie in den Editierbereich der Schnellbearbeitung und geben Sie "view" in die return-Zeichenfolge ein:
return "view";
Validierungslogik hinzufügen
Da auf dieser Seite ein Wert für eine Benutzer-ID eingegeben werden muss, sollten Sie mit Hilfe einer Validierung prüfen, ob die Benutzer-ID hinzugefügt wurde.
- Wählen Sie die Eingabekomponente User ID: aus.
- Öffnen Sie die Ansicht "Eigenschaften".
- Wählen Sie die Registerkarte Überprüfung aus.
- Aktivieren Sie das Markierungsfeld Wert ist erforderlich.
- Speichern Sie UserAdminCreate.jsp.
Den für die Ausführung dieses Teils der Anwendung erforderlichen Code brauchen Sie nicht zu schreiben. Die gesamte EJB-Referenzlogik sowie der Code zum Binden des Aufrufs und der Ergebnisse an die Benutzeroberfläche werden generiert.
Abbruchslogik hinzufügen
Außerdem sollten Sie eine Schaltfläche Abbrechen mit der entsprechenden Navigationsverbindung zur Suchseite hinzufügen:
- Ziehen Sie eine Komponente Befehl - Schaltfläche aus dem Drawer der Palette Faces-Komponenten und legen Sie sie neben der Schaltfläche Erstellen ab.
- Öffnen Sie die Sicht 'Eigenschaften', falls sie nicht bereits aktiv ist.
- Klicken Sie in der Eigenschaftengruppe auf Anzeigeoptionen, geben Sie im Feld Schaltflächenbeschriftung den
Wert Cancel ein und drücken Sie die Eingabetaste.
- Klicken Sie auf die Registerkarte der Sicht Schnellbearbeitung. Klicken Sie in den Editierbereich der Schnellbearbeitung und geben Sie "view" in die return-Zeichenfolge ein:
return "view";
- Speichern Sie die Datei. Nun müsste die Seite UserAdminCreate.jsp in etwa wie folgt aussehen:

Seite UserAdminUpdate.jsp erstellen
In diesem Teil der Übung erstellen Sie mit einer JavaBean einen Datenzugriff zum Aktualisieren von Benutzerinformationen
auf der Seite UserAdminUpdate. Darüber hinaus fügen Sie eine Schaltfläche Abbrechen ein, mit deren Hilfe der Benutzer diesen Prozess beenden kann, sowie weiteren Code zum Abrufen vorhandener Einträge und deren Aktualisierung auf dieser Seite.
- Kehren Sie zum Webdiagrammeditor zurück und doppelklicken Sie auf die Seite UserAdminUpdate.jsp.
- Klicken Sie im Erstellungsassistenten auf Fertig stellen.
Im Editierbereich wird die leere Datei geöffnet.
- Löschen Sie den Standardtext Inhalt hier platzieren.
- Ziehen Sie das Objekt EJB-Session-Bean vom Drawer Daten der Palette auf die Datei.
- Wenn der Assistent Session-Bean geöffnet wird, wählen Sie ejb/UserFacade aus und klicken Sie auf Weiter.
- Wählen Sie die Schnittstelle update(RegistrationData data) aus, die als Eingabefeld auf der Portletseite verwendet wird.
- Klicken Sie auf Weiter.
- Sie definieren auf der Seite 'Eingabeformular' das Eingabeformular, mit dem Daten in der Datenbank aktualisiert werden. Klicken Sie auf Kein, um alle Felder abzuwählen und die geeigneten Felder für das Eingabeformular, das auf der Portletseite verwendet werden soll, individuell auszuwählen, zu organisieren und zu konfigurieren. Aktivieren Sie anschließend die Markierungsfelder für folgende Felder:
- data.userid
- data.name
- data.email
- Verwenden Sie die Schaltflächen mit dem Auf- bzw. Abwärtspfeil, um die ausgewählten Datenfelder in der im obigen Schritt angegebenen Reihenfolge anzuordnen.
- Wählen Sie die Option Kennsatz des Feldes data.userid aus und ändern Sie den Wert in User ID.
- Wählen Sie in der Liste Steuerungstyp für data.userid den Eintrag Ausgabefeld aus. Auf diese Weise
wird das Ändern der ID beim Aktualisieren anderer Informationen im Portlet verhindert.
- Klicken Sie auf die Schaltfläche Optionen und geben Sie Update im Feld Kennsatz ein. Klicken Sie auf OK.
- Klicken Sie auf Fertig stellen, um das Eingabeformular auf der Seite UserAdminUpdate.jsp zu generieren. Die Benutzeroberfläche sieht in etwa wie folgt aus:

- Wählen Sie auf der Seite die Schaltfläche Aktualisieren aus.
- Öffnen Sie die Eigenschaftensicht, falls sie nicht bereits aktiv ist, und klicken Sie auf die Schaltfläche Regel hinzufügen. (Unter Umständen müssen Sie nach rechts blättern.)
- Wählen Sie im Dialog Navigationsregel hinzufügen im Listenfeld Seite die Option UserAdminView.jsp aus.
- Wählen Sie den Radioknopf Das Ergebnis mit folgendem Namen aus und geben Sie view ein.
- Klicken Sie auf OK.
- Klicken Sie auf die Registerkarte der Sicht Schnellbearbeitung. Klicken Sie in den Editierbereich der Schnellbearbeitung und geben Sie "view" in die return-Zeichenfolge ein:
return "view";
Den für die Ausführung dieses Teils der Anwendung erforderlichen Code brauchen Sie nicht zu schreiben. Die gesamte EJB-Referenzlogik sowie der Code zum Binden des Aufrufs und der Ergebnisse an die Benutzeroberfläche werden generiert.
Abbruchslogik hinzufügen
Außerdem sollten Sie eine Schaltfläche Abbrechen mit der entsprechenden Navigationsverbindung zur Suchseite hinzufügen:
- Ziehen Sie eine Komponente Befehl - Schaltfläche aus dem Drawer der Palette Faces-Komponenten und legen Sie sie neben der Schaltfläche Aktualisieren ab.
- Öffnen Sie die Sicht 'Eigenschaften', falls sie nicht bereits aktiv ist.
- Klicken Sie in der Eigenschaftengruppe auf Anzeigeoptionen, geben Sie im Feld Schaltflächenbeschriftung den
Wert Abbrechen ein und drücken Sie die Eingabetaste.
- Klicken Sie auf die Registerkarte der Sicht Schnellbearbeitung. Klicken Sie in den Editierbereich der Schnellbearbeitung und geben Sie "view" in die return-Zeichenfolge ein:
return "view";
- Speichern Sie die Datei. Nun müsste die Seite UserAdminUpdate.jsp in etwa wie folgt aussehen:

Weiteren Code zur Aktualisierung vorhandener Einträge hinzufügen
Mit Hilfe der in diesem Teil der Übung hinzugefügten Aktualisierungslogik kann die Anwendung vorhandene Einträge
abrufen. Auf diese Weise hat der Benutzer die Möglichkeit, die Einträge über diese Seite zu aktualisieren. Das Formular wird mit den relevanten Daten ausgefüllt. Dazu wird die Parameter-Bean mit Hilfe der von UserFacade bereitgestellten Methode findById() initialisiert.
- Wählen Sie im Kontextmenü von UserAdminUpdate.jsp die Option Seitencode bearbeiten aus. Der Seitencode ist die Java-Datei, in der der Basiscode für UserAdminUpdate.jsp enthalten ist. Fügen Sie den folgenden Code ein (den Abschnitt in Fettdruck):
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;
}
- Speichern Sie die Änderungen und schließen Sie UserAdminUpdate.java.
Verknüpfungen zur Seitennavigation hinzufügen
Schließlich müssen Sie zur Fertigstellung des Portlets UserAdmin noch Verknüpfungen hinzufügen, um die Navigation von der Stammseite (UserAdminView.jsp) zu den Seiten mit den Einzelangaben (UserAdminCreate.jsp und UserAdminUpdate.jsp) zu gewährleisten. Führen Sie zum Einfügen der Verknüpfungen folgende Schritte aus:
- Kehren Sie zur Webdiagrammdatei zurück, um einen abschließenden Blick auf das fertige Webdiagramm zu werfen:

Beachten Sie, dass alle Webseitenknoten realisiert wurden und alle Verknüpfungen mit Befehlsschaltflächen vorhanden sind.
- Öffnen Sie UserAdminView.jsp.
- Ziehen Sie eine Komponente Link aus dem Drawer der Palette Faces-Komponenten und legen Sie sie neben der Datentabelle in der Datei ab.
- Geben Sie /UserAdminCreate.jsp im Feld URL und Create im Feld Kennsatz ein. Klicken Sie auf OK.
- Ziehen Sie eine Komponente Befehl - Hyperlink aus dem Drawer Faces-Komponenten der Palette und übergeben
Sie sie an das Ausgabefeld mit dem Namen {userid} in der Datentabelle.
- Öffnen Sie die Eigenschaftensicht, falls sie nicht bereits aktiv ist, und klicken Sie auf die Schaltfläche Regel hinzufügen. (Unter Umständen müssen Sie nach rechts blättern.)
- Wählen Sie im Dialog Navigationsregel hinzufügen im Listenfeld Seite die Option UserAdminView.jsp aus.
- Wählen Sie den Radioknopf Das Ergebnis mit folgendem Namen aus und geben Sie update ein.
- Klicken Sie auf OK.
- Wählen Sie in der Eigenschaftensicht die Registerkarte Parameter aus.
- Klicken Sie auf die Schaltfläche Parameter hinzufügen.
- Geben Sie userid im Feld Name ein.
- Klicken Sie auf die Zelle im Feld Wert und anschließend auf das Suchsymbol, um den Dialog Seitendatenobjekt auswählen zu öffnen. Erweitern Sie userFacadeLocal > findByName(java.lang.String) > userFacadeLocalFindByNameResultBean und
wählen Sie userid (java.lang.Integer) im Dialog Seitendatenobjekt auswählen aus.

- Klicken Sie auf OK.
Als nächstes müssen Sie Code zum Speichern des Parameters im Sitzungsbereich hinzufügen, damit die Benutzerinformationen mit Hilfe der Benutzer-ID im Eingabeformular der Aktualisierungsseite bereitgestellt werden können.
- Klicken Sie auf die Registerkarte der Sicht Schnellbearbeitung. Klicken Sie in den Editierbereich der Schnellbearbeitungssicht, um eine leere Schablone für den Aktionscode zu erstellen, der der Schaltfläche Aktualisieren zugeordnet ist, und geben Sie folgenden Code ein:
String userid = (String)getRequestParam().get("userid");
getSessionScope().put("userid", new Integer(userid));
return "update";
- Speichern Sie die Datei und schließen Sie sie.
Portlet UserAdmin ausführen
Sie sollten prüfen, ob die Seiten des Portlets UserAdmin bis zu dieser Stelle ordnungsgemäß funktionieren. Führen Sie dazu die JSP-Datei in dem internen Browser aus, der im Lieferumfang von Rational Developer enthalten ist. Gehen Sie wie folgt vor, um das Portlet UserAdmin auszuführen:
- Wählen Sie im Projekt-Explorer das Projekt AuctionPortlet und in dessen Kontextmenü die Optionen Ausführen > Auf Server ausführen aus.
- Hier müssen Sie möglicherweise den Server mit der WebSphere Portal V5.0-Testumgebung als Zielserver angeben. Da Sie bereits über die WebSphere Portal V5.0-Testumgebung verfügen, wählen Sie sie aus und klicken Sie im Assistenten Serverauswahl auf Fertig stellen.
- Die Datei wird daraufhin im Browser angezeigt. Hier können Sie die Eingabefelder, Verknüpfungen und das Layout so sehen wie ein Benutzer auf einer Portalsite.
- Geben Sie das Zeichen % im Namensfeld ein und klicken Sie auf die Schaltfläche Suchen, um
vorhandene Benutzer aus der Datenbank abzurufen.

Beachten Sie, dass durch das Klicken auf den Link Erstellen oder das Auswählen eines Benutzers in der
Datentabelle entsprechend die Seite UserAdminCreate bzw. UserAdminUpdate geöffnet wird. Wenn Sie auf einer dieser Seiten Werte eingeben und auf Erstellen oder Aktualisieren klicken, werden die Hinzufügungen und Aktualisierungen angenommen. Aktualisierte Daten müssten sofort auf der Seite UserAdminView angezeigt werden. Wenn der gesuchte Name einem von Ihnen erstellten Benutzernamen entspricht (Sie können z. B. das Platzhalterzeichen
% verwenden, um alle Benutzer abzurufen), wird der neue Benutzer bei der Rückkehr zur Erstellungsseite
angezeigt.
Stoppen Sie den Testumgebungsserver, bevor Sie mit der nächsten Übung fortfahren. Wählen Sie dazu den Server in
der Sicht 'Server' aus und klicken Sie in der Funktionsleiste auf die Schaltfläche Server stoppen
.
Nun sind Sie bereit für die Übung 1.5: Portlets hinzufügen, die Listen auf der Auktionssite suchen und Einzelangaben zu den Listen bereitstellen.