Página de registro de la tienda de ejemplo

La página de registro de la tienda de ejemplo permite a los usuarios registrarse en la tienda de ejemplo. Cuando los clientes se registran, deben proporcionar su nombre y apellido y una dirección de correo electrónico y, a continuación, crear una contraseña.

Cuando los clientes pulsan Regístrese ahora y compre, se muestra la página Regístrese o conéctese. A continuación, los clientes pulsan Regístrese y se muestra la página de Registro (register.jsp).

Cuando los clientes desean actualizar su información de registro, pulsan Modificar información personal en la página Mi cuenta. Se visualiza la página Modificar información Personal (edit_registration.jsp).

Mandatos

register.jsp utiliza los mandatos siguientes:

Beans

register.jsp utiliza los beans siguientes:

edit_registration.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.

Registrarse
El enlace Regístrese de la página Regístrese o conéctese (account.jsp) muestra el formulario de registro. WebSphere Commerce utiliza el mandato UserRegistrationAdd para crear un nuevo registro. Si el cliente está conectado, UserRegistrationAdd se comporta como UserRegistrationUpdate. Es decir, un cliente conectado no puede volver a registrarse y crear una cuenta nueva. Dado que la tienda de ejemplo permite al usuario registrarse varias veces y crear varias cuentas, un cliente conectado debe desconectarse primero antes de volver a registrarse. Para conseguir este resultado, el enlace Regístrese se establece automáticamente en el mandato Logoff para los clientes conectados y en la vista UserRegistrationForm para los clientes invitados. El mandato Logoff llama automáticamente a la tarea LogoffView. La tarea LogoffView está registrada con Logoff.jsp en la base de datos. Logoff.jsp comprueba el parámetro URL state. Si está establecido en forgetpassword, se carga forgetpassword.jsp; si no, se carga UserRegistrationForm.jsp. La vista UserRegistrationForm está asociada al archivo UserRegistrationForm.jsp en la tabla VIEWREG. UserRegistrationForm.jsp comprueba el parámetro URL "new". Si está establecido en Y, se incluye register.jsp para visualizar el formulario de nuevo registro. De lo contrario, se incluye edit_registration.jsp para visualizar el formulario de actualización de registro.  

register.jsp
contiene un formulario de nuevo registro. El formulario de nuevo registro se somete al mandato UserRegistrationAdd. Por omisión, el mandato UserRegistrationAdd espera varios campos obligatorios que no son necesarios para la tienda de ejemplo. Como resultado, estos campos se configuran como campos HTML ocultos y los valores se establecen en "-", como en el ejemplo siguiente:

<INPUT TYPE="hidden" NAME="personTitle" Value="-">
 
Nota: En la tienda NewFashion no se somete la pareja nombre-valor. Si la pareja nombre-valor no se somete, el mandato UserRegistrationAdd no comprobará el parámetro URL.

Cuando los clientes se registran y rellenan su perfil, éste puede coincidir con uno de los perfiles de WebSphere Commerce Accelerator. Si  el perfil de WebSphere Commerce Accelerator tiene asociado un descuento, los clientes recibirán ese descuento. 

Dirección de correo electrónico como conexión
Las tiendas de ejemplo  requieren que los clientes escriban su dirección de correo electrónico como su ID de conexión, pero WebSphere Commerce requiere un ID de usuario como ID de conexión. Como solución, la tienda de ejemplo solicita a los clientes que escriban su dirección de correo electrónico en el formulario de registro. A continuación, antes de someter el formulario, el campo de dirección de correo electrónico y el campo de ID de usuario se establecen ambos en el valor de la dirección de correo electrónico, utilizando el siguiente JavaScript:
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() 
}
Modificar información personal
Al pulsar Modificar información personal se llama al mandato UserRegistrationForm, que está asociado en la base de datos con UserRegistrationForm.jsp. Si el parámetro new no es nulo, cargará register.jsp. De lo contrario, cargará edit_registration.jsp
El mandato UserRegistrationUpdate se utiliza en edit_registration.jsp para actualizar la información de registro del usuario. Si el cliente no rellena los campos de contraseña o de verificar contraseña, el sistema proporcionará la contraseña de registro, utilizando el código siguiente:
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()
}

Si un cliente ha proporcionado previamente información sobre el sexo y la edad, los campos de sexo y edad estarán cumplimentados de antemano. DemographicsAccessBean extrae la información sobre sexo y edad de la base de datos.

Manejo de errores 

Ante cualquier error, el mandato UserRegistrationAdd llama a UserRegistrationErrorView, el cual está registrado en la base de datos con UserRegistrationForm.jsp. Sin embargo, UserRegistrationUpdate también invoca la misma vista de error. Para diferenciar un formulario de nuevo registro de un formulario de edición, el formulario de nuevo registro contiene un parámetro oculto denominado new. Si dicho parámetro está presente, UserRegistrationForm.jsp incluye register.jsp. De lo contrario, carga edit_registration.jsp.

register.jsp se utiliza tanto en condiciones de error como en condiciones normales. ErrorDataBean y la comprobación de errores se utilizan para determinar bajo qué condición se ejecuta register.jsp. Si existe un error, register.jsp muestra el mensaje de error.

Nota: Aunque los errores de contraseñas los detectan los mandatos  UserRegistrationAdd y UserRegistrationUpdate, estos llaman a AuthenticationPolicyErrorView cuando se produce un error de contraseña.

Conceptos relacionados

Tareas relacionadas

Referencia relacionada

IBM copyright