サンプル・ストア・ショッピング・カート

顧客は、ショッピング・カートの表示の使用事例で説明されているように、 ショッピング・カート (shoppingcart.jsp) で選択済みのアイテムを表示、編集することができます。

コマンド

shoppingcart.jsp は、以下のコマンドを使用します。

bean

shoppingcart.jsp は、以下の bean を使用します。

インプリメンテーションの詳細情報

注:サンプル・ストアに関する一般的なインプリメンテーション技術の詳細については、 多文化的な情報も含めて サンプル・ストアのページ: 共通するインプリメンテーション技術をご覧ください。

顧客がヘッダーまたはフッターのショッピング・カートをクリックすると、 OrderItemDisplay コマンドが呼び出されますが、これは、OrderItemDisplayViewShiptoAssoc 表示コマンドを戻します。 OrderItemDisplayViewShiptoAssoc 表示コマンドは、データベース中に OrderItemDisplay.jsp と一緒に登録されています。 OrderItemDisplay.jsp は、page パラメーターに基づいて、 別の JavaServer Page ファイルを組み込みます。 page の値が入っていない場合は、ショッピング・カート・ページ (shoppingcart.jsp) がロードされます。

注: OrderItemDisplay.jsp は OrderPrepare を実行します。 これはオーダー合計価格を再計算し、デフォルトの通貨を顧客が使用している通貨に変換します。 単一通貨のストアでは OrderPrepare を実行する必要はありません。

ショッピング・カート・ページには、合計の更新ボタン、および チェックアウト・ボタンがあります。 合計の更新をクリックし、オーダー済みアイテムの数量更新してから、ショッピング・カート・ページを表示します。 チェックアウトをクリックし、オーダー済みアイテムの数量更新してから、チェックアウト 1 請求先住所の選択ページを表示します。

チェックアウトおよび合計の更新ボタンはどちらも、同じ HTML フォームを使用します。 ただし、顧客がフォームを送信する前にチェックアウトをクリックすると JavaScript が使用されて、 値が billingaddress に設定された page パラメーターがさらに追加されます。

クイック・チェックアウト・オプションを完了する際に使用されるコマンドは QuickCheckoutView で、 VIEWREG に登録されている表示コマンドで、QuickCheckout.jsp に関連付けられています。 QuickCheckout.jsp は、以下のサーバー・コマンドを実行します。

QuickCheckout.jsp は、OrderAccessBean を使用して、請求先および配送先住所、 配送方法、および支払い情報を顧客のクイック・チェックアウト・プロファイルから検索します。 次に、この情報を orderId で指定されたオーダーに割り当て、OrderPrepare コマンドを実行します。

 クイック・チェックアウト処理が完了した後、 このコマンドは URL で指定されたビューに転送されます。 WebFashion では、QuickCheckoutSummaryView が QuickCheckout コマンドの URL として指定されています。 そのため、クイック・チェックアウトが完了すると、「クイック・チェックアウトの要約」ページが表示されます。

エラー処理

ストアに配送センターが接続されていない場合、または商品が在庫切れの場合、 OrderItemAdd/OrderItemUpdate コマンドが ResolveFulfillmentCenterErrorView を呼び出します。 これはデータベース中に shoppingcart.jsp で登録されています。  顧客が数量フィールドに無効な文字を入力する場合、InvalidInputErrorView が呼び出されます。 InvalidInputErrorView も、データベースの shoppingcart.jsp に登録されています。

OrderItemUpdate コマンドと OrderItemAdd コマンドの両方によってエラーが起こされる可能性があるため、 shoppingcart.jsp は、どちらのコマンドがエラーを起こしたかを検査し、それに従ってエラーを表示します。 最後のコマンドが OrderItemUpdate の場合、「ショッピング・カート」ページが再表示されて、 エラー・メッセージが示されます。 そうではない場合、個別のエラー・ページが表示されて、エラー・メッセージが示されます。 これは以下のコードで実現させることができます。

String lastCmdName = cmdcontext.getCommandName().trim();

shoppingcart.jsp は、通常時、エラー発生時の両方に使用されます。 ErrorDataBean およびエラー検査は、どの状態で shoppingcart.jsp が表示されるかを決定します。 エラーがある場合、shoppingcart.jsp は該当するエラー・メッセージを表示します。

QuickCheckout.jsp(QuickCheckoutView) がクイック・チェックアウト・プロファイルを検索できない場合、 QuickCheckoutError.jsp を呼び出してエラー・メッセージを表示します。 その結果として、quickcheckouterrorview.jsp が表示されます。

quickcheckouterrorview.jsp は、顧客が登録済みであるかどうかを検査します。 顧客が登録済みである場合は、 システムにより顧客にクイック・チェックアウト・プロファイルの作成を促すプロンプトが出されます。 そうでない場合は、 システムにより顧客にまず登録し、それからクイック・チェックアウト・プロファイルを作成するよう促すプロンプトが出されます。

関連概念

関連タスク

関連参照

IBM 著作権