サンプル・ストア登録ページ
サンプル・ストア登録ページでは、顧客がサンプル・ストアに登録することができます。 顧客が登録するには、氏名および E メール・アドレスを入力してから、パスワードを作成する必要があります。
顧客が登録して購入する! をクリックすると、登録またはログオン・ページが表示されます。 次に、顧客が登録をクリックすると、
登録ページ (register.jsp) が表示されます。
顧客が自分の登録情報を更新しようとする場合は、「アカウント」ページにある「個人情報の変更」をクリックします。 個人情報の変更ページ (edit_registration.jsp) が表示されます。
コマンド
register.jsp は、以下のコマンドを使用します。
- UserRegistrationAdd
- PrivacyView
bean
register.jsp は、以下の bean を使用します。
edit_registration.jsp は、以下の bean を使用します。
- DemographicsAccessBean
- UserRegistrationDataBean
- ErrorDataBean
インプリメンテーションの詳細情報
注: マルチカルチャー情報を含むすべてのサンプル・ストア・ページに共通なインプリメンテーション手法については、サンプル・ストア・ページ: 共通のインプリメンテーション手法
を参照してください。
- 登録
- 「登録」または「ログイン」ページ (account.jsp) からの「登録」リンクは、
登録フォームを表示します。 WebSphere Commerce は UserRegistrationAdd コマンドを使用して、新規登録を作成します。 顧客がログインする場合、UserRegistrationAdd は、
UserRegistrationUpdate と同様の動作をします。 すなわち、ログインした顧客は再度登録し新規アカウントを作成することができません。 サンプル・ストアではユーザーの複数回の登録と複数のアカウントの作成が可能なため、
ログインした顧客は、再度登録をする前に、ログオフする必要があります。 このために、ログインした顧客にはログオフ・コマンド、
ゲスト顧客には UserRegistrationForm ビューへの登録リンクが自動的に設定されます。 ログオフ・コマンドは、自動的に LogoffView タスクを呼び出します。 LogoffView タスクは、データベース中に Logoff.jsp と一緒に登録されています。 Logoff.jsp は、state URL パラメーターを検査します。 それが forgetpassword に設定されていれば、forgetpassword.jsp がロードされ、そうでない場合は、UserRegistrationForm.jsp がロードされます。 UserRegistrationForm ビューは、VIEWREG テーブル内の UserRegistrationForm.jsp ファイルに関連付けられています。 UserRegistrationForm.jsp は "new" URL パラメーターを検査します。 それが Y に設定されていれば、register.jsp を組み込んで、新規登録フォームが表示されます。 そうでない場合は、edit_registration.jsp を組み込んで、更新登録フォームが表示されます。
register.jsp には、新規登録フォームが含まれます。 新規登録フォームは UserRegistrationAdd コマンドにより送信されます。 デフォルトでは UserRegistrationAdd コマンドは、
サンプル・ストア では不要な、いくつかの必須フィールドが必要です。 そのため、これらのフィールドは隠し HTML フィールドとしてセットアップされ、
以下の例のように、その値は "-" に設定されます。
<INPUT TYPE="hidden" NAME="personTitle"
Value="-">
-
- 注: NewFashion ストアでは、名前値のペアは送信されません。 名前値のペアが送信されないと UserRegistrationAdd コマンドは URL パラメーターをチェックしません。
顧客が自分のプロファイルを登録して記入したら、
WebSphere Commerce アクセラレーターのいずれかのプロファイルと一致させられます。 WebSphere Commerce アクセラレーター・プロファイルに、関連付けられた割引がある場合、
顧客はその割引を受け取ります。
- E メール・アドレスでログイン
- サンプル・ストアでは顧客はログイン ID として E メール・アドレスを入力する必要がありますが、
WebSphere Commerce では、ログインとしてユーザー ID が必要です。 ソリューションとして、サンプル・ストアは登録フォームで顧客に E メール・アドレスの入力を要求します。 そのためフォームを送信する前に、
以下の JavaScript を使用して E メール・アドレスの値に E メールとユーザー ID フィールドの両方をセットします。
function prepareSubmit (フォーム)
{
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()
}
- 個人情報の変更
- 個人情報の変更をクリックすると UserRegistrationForm コマンドが呼び出されますが、
これは、データベース中に UserRegistrationForm.jsp と関連付けられます。
新規 パラメーターが非ヌルの場合は、register.jsp がロードされます。
そうでない場合は、edit_registration.jsp がロードされます。
UserRegistrationUpdate コマンドは、ユーザーの登録情報を更新するために edit_registration.jsp で使用されます。 顧客がパスワードまたは確認パスワード・フィールドを完了していない場合には、以下のコードを使用して、システムが登録パスワードを提供します。
function prepareSubmit (フォーム)
{
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()
}
顧客が以前に性別と年齢の情報を入力している場合は、性別および年齢フィールドは事前に埋められます。 DemographicsAccessBean がデータベースから性別および年齢の情報を抽出します。
エラー処理
どのようなエラーでも UserRegistrationAdd コマンドは、UserRegistrationErrorView を呼び出しますが、
これはデータベースの UserRegistrationForm.jsp に登録されています。 しかし、同じエラーが UserRegistrationUpdate によっても呼び出されます。 新規登録フォームと編集フォームを区別するため、新規登録フォームには、new という隠しパラメーターが含まれています。
そのパラメーターがあると UserRegistrationForm.jsp は、register.jsp を組み込みます。
そうでない場合は、edit_registration.jsp がロードされます。
register.jsp は、通常時、エラー発生時の両方に使用されます。 ErrorDataBean およびエラー検査は、どのような状況下で register.jsp が実行されているかを判別するために使用されます。 エラーが発生した場合、register.jsp は、エラー・メッセージを表示します。
注: パスワード・エラーがあると、AuthenticationPolicyErrorView が呼び出されますが、
実際には UserRegistrationAdd および UserRegistrationUpdate コマンドで捕そくされます。