Beispielgeschäft - Seite 'Registrierung'
Mit der Seite Registrierung des Beispielgeschäfts können Kunden sich im
Beispielgeschäft registrieren. Bei der Registrierung muss ein Kunde seinen Vor- und Nachnamen sowie
eine E-Mail-Adresse eingeben und anschließend ein Kennwort erstellen.
Wenn ein Kunde Jetzt registrieren und einkaufen! anklickt, wird die
Registrierungs- oder Anmeldeseite angezeigt. Der Kunde klickt anschließend Registrieren an, und die Registrierungsseite (register.jsp) wird aufgerufen.
Wenn ein Kunde seine Registrierungsinformationen aktualisieren möchte,
klickt er Informationen zur Person ändern auf der Seite
Mein Konto an. Die Seite Informationen
zur Person ändern (edit_registration.jsp) wird
angezeigt.
Befehle
register.jsp verwendet die folgenden Befehle:
- UserRegistrationAdd
- PrivacyView
Beans
register.jsp verwendet die folgenden Beans:
edit_registration.jsp verwendet die folgenden Beans:
- DemographicsAccessBean
- UserRegistrationDataBean
- ErrorDataBean
Implementierungsdetails
Hinweis: Informationen zu Implementierungstechniken, die allen Beispielgeschäftsseiten
gemein sind, finden Sie in Beispielgeschäftsseiten:
Allgemeine Implementierungstechniken.
- Registrierung
- Der Link Registrieren von der Seite
Registrieren oder Anmelden (account.jsp) zeigt das
Registrierungsformular an. WebSphere Commerce verwendet den Befehl
"UserRegistrationAdd" zum Erstellen einer neuen Registrierung.
Wenn der Kunde angemeldet ist, arbeitet "UserRegistrationAdd" wie
"UserRegistrationUpdate". Das bedeutet: ein angemeldeter Kunde
kann sich nicht erneut anmelden und ein neues Konto anlegen. Da jedoch das
Beispielgeschäft dem Benutzer die Möglichkeit gibt, sich mehrmals
anzumelden und mehrere Konten zu erstellen, muss ein angemeldeter Kunde
vor einer erneuten Registrierung zunächst abgemeldet sein. Um dies zu
erreichen, ist der Link Registieren für angemeldete
Kunden automatisch auf den Befehl "Logoff" eingestellt und für Gastkunden
auf die Sicht "UserRegistrationForm". Der Befehl
"Logoff" ruft automatisch die Task "LogoffView"
auf. Die Task "LogoffView" ist mit
Logoff.jsp in der Datenbank registriert. Logoff.jsp
prüft den URL-Parameter state. Ist der Parameter auf
"forgetpassword" gesetzt, wird forgetpassword.jsp
geladen. Andernfalls wird UserRegistrationForm.jsp geladen. Die
Sicht "UserRegistrationForm" ist der Datei
UserRegistrationForm.jsp in der Tabelle VIEWREG
zugeordnet. UserRegistrationForm.jsp überprüft den
"neuen" URL-Parameter. Ist der Parameter auf "Y" eingestellt,
wird das neue Registrierungsformular angezeigt, indem register.jsp einbezogen
wird. Andernfalls wird das Formular zur Aktualisierung der Registrierung
angezeigt, indem edit_registration.jsp einbezogen wird.
register.jsp enthält ein neues
Registrierungsformular. Das neue Registrierungsformular wird an den Befehl
"UserRegistrationAdd" übergeben. Standardmäßig erwartet der
Befehl "UserRegistrationAdd" mehrere Musseingabefelder, die für
das Beispielgeschäft nicht erforderlich sind. Diese Felder sind daher als
als verdeckte HTML-Felder konfiguriert, und die Werte sind wie im
folgenden Beispiel auf "-" gesetzt.
<INPUT TYPE="hidden" NAME="personTitle"
Value="-">
-
- Hinweis: Im Geschäft NewFashion wurde das Name/Wert-Paar
nicht übergeben. Wenn das Name/Wert-Paar nicht übergeben wird, überprüft der
Befehl "UserRegistrationAdd" den URL-Parameter nicht.
Wenn sich Kunden registrieren und ihr Profil ausfüllen, kann
dieses Profil mit einem der Profile in WebSphere Commerce Accelerator
übereinstimmen. Ist dem Profil in WebSphere Commerce Accelerator ein
Rabatt zugeordnet, erhalten die Kunden diesen Rabatt.
- E-Mail-Adresse als Anmeldung
- Bei den Beispielgeschäften müssen Kunden ihre E-Mail-Adresse als
Anmelde-ID eingeben. WebSphere Commerce hingegen benötigt als Anmelde-ID
die Benutzer-ID. Die Beispielgeschäfte fordern daher den Benutzer auf,
seine E-Mail-Adresse im Registrierungsformular einzugeben. Anschließend
werden vor dem Abschicken des Formulars die Felder E-Mail und
Benutzer-ID mit dem folgenden Java-Script auf den Wert der
E-Mail-Adresse gesetzt:
function prepareSubmit(form)
{
form.<%=ECUserConstants.EC_ADDR_EMAIL1%>.value =
form.<%= ECUserConstants.EC_UREG_LOGONID%>.value.toLowerCase()
form.<%=ECUserConstants.EC_UREG_LOGONID%>.value =
form.<%= ECUserConstants.EC_UREG_LOGONID%>.value.toLowerCase()
form.submit()
}
- Informationen zur Person ändern
- Durch Anklicken der Option Informationen zur Person
ändern wird der Befehl UserRegistrationForm
aufgerufen, der in der Datenbank
UserRegistrationForm.jsp zugeordnet ist.
Wenn der Parameter new nicht Null ist, wird
register.jsp geladen.
Andernfalls wird
edit_registration.jsp geladen.
Der Befehl "UserRegistrationUpdate" wird in
edit_registration.jsp zum Aktualisieren der
Registrierungsinformationen des Benutzers verwendet. Wenn ein Kunde das
Feld Kennwort oder das Feld Kennwort
bestätigen nicht ausfüllt, stellt das System das
Registrierungskennwort bereit und verwendet hierzu den folgenden Code:
function prepareSubmit(form)
{
form.<%= ECUserConstants.EC_ADDR_EMAIL1
%>.value=form.<%=ECUserConstants.EC_UREG_LOGONID%>.value
form.<%=ECUserConstants.EC_UREG_LOGONID%>.value =
form.<%= ECUserConstants.EC_UREG_LOGONID%>.value.toLowerCase()
if (form.<%=ECUserConstants.EC_UREG_LOGONPASSWORD%>.value.length == 0)
{
form.<%=ECUserConstants.EC_UREG_LOGONPASSWORD%>.value = '<%=strPassword%>'
}
if (form.<%=ECUserConstants.EC_UREG_LOGONPASSWORDVERIFY%>.value.length == 0)
{
form.<%=ECUserConstants.EC_UREG_LOGONPASSWORDVERIFY%>.value =
'<%=strPassword%>'
}
form.submit()
}
Hat ein Kunde zuvor Informationen zu Geschlecht und Alter
eingegeben, sind die Felder Geschlecht und Alter bereits ausgefüllt. Die Bean
"DemographicsAccessBean" extrahiert die Informationen zu Geschlecht und
Alter aus der Datenbank.
Fehlerbehandlung
Bei einem Fehler ruft der Befehl "UserRegistrationAdd" die
Fehlerseite "UserRegistrationErrorView" auf, die in der Datenbank mit
UserRegistrationForm.jsp registriert ist. Dieselbe
Fehlersicht wird allerdings auch von "UserRegistrationUpdate"
aufgerufen. Zur Unterscheidung zwischen einem neuen Registrierungsformular
und einem Änderungsformular enthält das neue Registrierungsformular einen
verdeckten Parameter mit dem Namen new.
Wenn dieser Parameter vorhanden ist, enthält
UserRegistrationForm.jsp register.jsp.
Andernfalls wird edit_registration.jsp geladen.
register.jsp wird bei normalen und bei Fehlerbedingungen
verwendet. "ErrorDataBean" und die Fehlerprüfung werden verwendet, um zu
ermitteln, unter welchen Bedingungen register.jsp ausgeführt
wird. Wenn ein Fehler vorliegt, zeigt register.jsp die Fehlernachricht an.
Hinweis: Kennwortfehler werden durch die Befehle
"UserRegistrationAdd" und "UserRegistrationUpdate"
abgefangen; diese Befehle rufen jedoch beim Auftreten eines
Kennwortfehlers "AuthenticationPolicyErrorView" auf.