Páginas de listín de la tienda de ejemplo NewFashion

Las páginas de listín de la tienda de ejemplo permiten a los clientes registrados añadir direcciones de envío y de facturación a un listín. 

Un cliente registrado se conecta y luego pulsa Editar mi listín en la página Mi cuenta (myaccount.jsp). Se visualiza la página Listín (addressbookform.jsp). En ella,  un cliente puede añadir una nueva dirección o editar una existente. Para obtener más información, consulte el Ejemplo de uso de Añadir nueva dirección y el Ejemplo de uso de Editar una dirección.

El listín de la tienda de ejemplo utiliza los siguientes archivos JSP:

Mandatos

account.jsp utiliza los mandatos siguientes:

addressbookform.jsp utiliza los mandatos siguientes:

address.jsp utiliza los mandatos siguientes:

Beans

addressbook.jsp utiliza los beans siguientes:

address.jsp utiliza los beans siguientes:

Detalles sobre implementación

Nota: Para obtener información sobre las técnicas de implementación comunes a todas las páginas de la tienda de ejemplo, incluida la información multicultural, consulte Páginas de la tienda de ejemplo: técnicas de implementación comunes.

Cuando un cliente pulsa Editar mi listín en la página Mi cuenta, se llama al mandato AddressBookForm. A continuación, AddressBookForm carga la página Listín (addressbookform.jsp).  Si un cliente pulsa Añadir una nueva dirección, se llama al mandato AddressForm. AddressForm está registrado con AddressForm.jsp en la base de datos y comprueba el parámetro page. Si page se establece en newshipaddress, se carga la página Pasar por caja 1: Añadir dirección de facturación (billingaddress.jsp); de lo contrario, se carga la página Añadir dirección (address.jsp).  

Nota: AddressForm cargará la página billingaddress.jsp si está establecido en newshipaddress debido al manejo de errores correspondiente a añadir dirección de facturación. Si page corresponde a newshipaddress,  significa que los clientes  estaban creando una nueva dirección desde la página de dirección de facturación e intentaron ir a la página de dirección de envío pero hubo un error. Como resultado, se devuelve a los clientes a la página Dirección de facturación. 

Una vez que el cliente ha cumplimentado los campos de la página Añadir dirección (address.jsp), el sistema comprueba si el addressId existe.  Si el addressId existe, se actualiza el listín. Si no, se crea una nueva dirección. Si se proporciona addressId, address.jsp se carga como una página Actualizar dirección. De lo contrario, se carga como una página Añadir dirección. En la página Actualizar dirección, los campos de entrada están cumplimentados de antemano con los valores entrados anteriormente, tal como se muestra a continuación:

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

Cuando un cliente cumplimenta la dirección y pulsa Someter tanto en la página Añadir dirección (address.jsp) como en la página Actualizar dirección (address.jsp), se llama al mandato AddressAdd. La página de listín (addressbookform.jsp) muestra las direcciones existentes. 

Los clientes pueden pulsar Editar listín desde la página Seleccionar dirección de envío para ir al Listín. Si los clientes van a la página Listín desde la página Seleccionar dirección de envío, la página Listín muestra un enlace Volver a Pasar por caja. A estos clientes no se les permite eliminar una dirección desde la página Listín. Como resultado, se añade nuevo código para comprobar si los clientes vienen  de la página Seleccionar dirección de envío, tal como se muestra a continuación:

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

Manejo de errores

Si el cliente no cumplimenta campos obligatorios en la página Añadir dirección (address.jsp) o la página Actualizar dirección (address.jsp),  el sistema solicita al cliente que vuelva a escribir los campos. El código siguiente maneja el error:

TypedProperty hshErrorProperties = bnError.getExceptionData();

if (hshErrorProperties != null)
{
//Existe un error en la dirección sometida.
strErrorCode = hshErrorProperties.getString(ECConstants.EC_ERROR_CODE, "");
if (strErrorCode.equals(ECUserConstants.EC_ADDR_ERR_BAD_NICKNAME))
strErrorMessage = infashiontext.getString("ERROR_MESSAGE1");

...

}

Conceptos relacionados

Tareas relacionadas

Referencia relacionada

IBM copyright