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:
- UserRegistrationAdd
- PrivacyView
Beans
register.jsp utiliza los beans siguientes:
edit_registration.jsp utiliza los beans siguientes:
- DemographicsAccessBean
- UserRegistrationDataBean
- ErrorDataBean
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.