「新時尚館範例商店 - 通訊錄」頁面

「範例商店 - 通訊錄」頁面可讓登錄客戶新增出貨和帳單地址到通訊錄中。

登錄客戶登入之後,再按一下「我的帳戶」 (myaccount.jsp) 頁面的編輯我的通訊錄。 這時會出現「通訊錄」頁面 (addressbookform.jsp)。 客戶可以在其中加入新地址或編輯現有的地址。 如需其它相關資訊,請參閱「新增新地址」使用案例「編輯地址」使用案例

「範例商店 - 通訊錄」中使用下列 JSP 檔:

指令

account.jsp 所用的指令如下:

addressbookform.jsp 所用的指令如下:

address.jsp 所用的指令如下:

Bean

addressbook.jsp 所用的 Bean 如下:

address.jsp 所用的 Bean 如下:

施行細節

附註:有關所有「範例商店」頁面共通施行技術的資訊(包括多文化方面的資訊), 請參閱 「範例商店」頁面:共通施行技術

當客戶按一下「我的帳戶」頁面中的編輯我的通訊錄時,會呼叫 AddressBookForm 指令。 之後,AddressBookForm 會載入「通訊錄」頁面 (addressbookform.jsp)。 如果客戶按一下新增地址,就會呼叫 AddressForm 指令。 AddressForm 是以 AddressForm.jsp 登錄在資料庫中,且會檢查 page 參數。 如果 page 設為 newshipaddress, 就會載入「結帳 1,新增帳單地址」頁面(billingaddress.jsp); 否則,會載入「新增地址」頁面(address.jsp)。

附註:如果是因為處理新增帳單地址時發生錯誤而設為 newshipaddress 時,AddressForm 會載入 billingaddress.jsp 頁面。 如果 page 等於 newshipaddress, 表示客戶是在帳單地址頁面上建立新的地址,並且嘗試進入出貨地址頁面,但發生錯誤。 其結果為,客戶會被返回「帳單地址」頁面。 

客戶完成「新增地址」頁面 (address.jsp) 中的欄位之後,它會檢查 addressId 是否存在。如果 addressId 存在,就會更新通訊錄。 如果不存在,就會建立新地址。如果有提供 addressIdaddress.jsp 會載入成「更新地址」頁面。 不然的話,它會載入成為「新增地址」頁面。在「更新地址」頁面上,所有輸入欄位都會預先填入先前輸入的值,如下所示:

if (addressId != null)
bUpdateAddress = true;
else
bUpdateAddress = false;

當客戶在「新增地址」頁面 (address.jsp) 和「更新地址」頁面 (address.jsp) 中完成好地址,並按一下提交時,會呼叫 AddressAdd 指令。 通訊錄頁面 (addressbookform.jsp) 會顯示現有的地址。 

客戶可以在「選取出貨地址」頁面上按一下編輯通訊錄, 進入「通訊錄」頁面。 如果客戶是從「選取出貨地址」頁面進入「通訊錄」頁面, 「通訊錄」頁面上會顯示一個回到結帳鏈結。 這些客戶不能移除「通訊錄」頁面上的地址。 其結果是加入新程式碼,來檢查客戶是不是從「選取出貨地址」頁面進入本頁面,如下所示:

 String mode = jhelper.getParameter("mode"); if (mode.equals("AddressBookReturnToCheckout"))

錯誤的處理

如果客戶在「新增地址」頁面 (address.jsp) 或「更新地址」頁面 (address.jsp) 上沒有填入必要的欄位,系統會要求客戶重新輸入那些欄位。 下列是處理錯誤的程式碼:

TypedProperty hshErrorProperties = bnError.getExceptionData();

if (hshErrorProperties != null)
{
//提出的地址有錯誤。
strErrorCode = hshErrorProperties.getString(ECConstants.EC_ERROR_CODE, "");
if (strErrorCode.equals(ECUserConstants.EC_ADDR_ERR_BAD_NICKNAME))
strErrorMessage = infashiontext.getString("ERROR_MESSAGE1");

...

}

相關概念

相關作業

相關參照

IBM copyright