JavaDabbaDoo.org -Tu comunidad Java parlante Implementar MVC - VW JSF
Inicio | Cursos infosintesis.net liberados | Java EE | Registrar a un usuario en un sitio Web con Visual Web JSF
Registrar a un usuario en un sitio Web con Visual Web JSF
Paso 11: Operativa

Vista - RegistroUsuario.jsp - Agregar componente de tipo RadioButtonGroup al lienzo

En este paso vamos a agregar al lienzo un componente de tipo RadioButtonGroup.

aaaa

Para cumplir nuestro objetivo, vamos a seguir los siguientes pasos.

1. Agregar la etiqueta lblNotificaciones

Para situar una etiqueta en el lienzo, vamos a arrastrar el icono Label en dicho lienzo tal y como hicimos en Vista - RegistroUsuario.jsp - Agregar componente Label al lienzo

En la propiedad id de la ventana Properties del componente Label, escribimos lblNotificaciones.

En el fichero paqregusuariovwjsf/Bundle.properties añadimos las llaves

literal.registroUsurario=Registro de usuario
literal.camposRequeridos=Campos requeridos

literal_nombre=Nombre
literal_apellido=Apellido
literal_email=E-Mail
literal_codigoPostal=Código Postal
literal_login=Login (mínimo 6 caracteres)
literal_password=Contraseña (mínimo 8 caracteres)
literal_confirmarPassword=Confirmar contraseña

literal_consulta_generoCine=¿Qué géneros de cine te gustan más?
literal_comedia=Comedia
literal_musical=Musical
literal_aventura=Aventura
literal_policiaco=Policiaco
literal_clasico=Clásico
literal_melodrama=Melodrama

literal_consulta_recibirDVD=¿Quieres recibir notificaciones vía e-mail sobre nuevos DVDs editados?
literal_si=Sí
literal_no=No

literal_enviar=Enviar

En la propiedad Text de la ventana Properties del componente Label, escribimos el valor de expresión (value expresssion) #{mensajes.literal_consulta_recibirDVD}

2. Agregar un componente de tipo CheckboxGroup al lienzo

Para situar un componente de tipo RadioButtonGroup en el lienzo, vamos a arrastrar el icono Radio Button Group en dicho lienzo

aaaa

En la propiedad id de la ventana Properties del componente Radio Button Group, escribimos notificaciones.

En la propiedad columns de la ventana Properties del componente Radio Button Group, escribimos 2.

Esta es la página JSP RegistroUsuario.jsp ampliada

<?xml version="1.0" encoding="UTF-8"?>

<jsp:root
 ..
>
 <jsp:directive.page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8"/>
 <f:view>
  ..
     <webuijsf:form id="form1">
      ..
 
    <webuijsf:label id="lblNotificaciones"
                     style="left: 24px; top: 400px; position: absolute; width: 576px"                      text="#{mensajes.literal_consulta_recibirDVD}"
      />
      
<webuijsf:radioButtonGroup columns="2" id="notificaciones"
                  
items="#{RegistroUsuario.notificacionesDefaultOptions.options}"
                  style="position: absolute; left: 24px; top: 420px"
      />

     </webuijsf:form>
    </webuijsf:body>
   </webuijsf:html>
  </webuijsf:page>
 </f:view>
</jsp:root>

y este es el código del backing bean RegistroUsuario que también ha sido ampliado

.
.

public class RegistroUsuario extends AbstractPageBean {
.
.

 private void _init() throws Exception {
  .
  .

 }


 private
SingleSelectOptionsList notificacionesDefaultOptions =
                                                        
new SingleSelectOptionsList();

 public SingleSelectOptionsList getNotificacionesDefaultOptions() {
  return notificacionesDefaultOptions;
 }

 public void setNotificacionesDefaultOptions(SingleSelectOptionsList ssol) {
  this.notificacionesDefaultOptions = ssol;
 }
.
.

}

Ahora hacemos clic con el botón derecho sobre el Radio Button Group del lienzo y en el menú emergente seleccionamos Configure Default Options...

En el cuadro de diálogo Options Customizer eliminamos un elementos y le damos los siguientes valores

Tambén indicamos que queremos que el usuario cuando vea la página Web por primera vez, tenga el radioButton que contiene el valor si seleccionado.

Para salir de este cuadro de diálogo hacemos clic sobre el botón OK

aaaa

Este es el código ampliado de la Clase RegistroUsuario

.
.

public class RegistroUsuario extends AbstractPageBean {
.
.

 private void _init() throws Exception {
  .
  .

  
notificacionesDefaultOptions.setOptions(new com.sun.webui.jsf.model.Option[]{
                                new com.sun.webui.jsf.model.Option("si", "Elemento 1"),
                                new com.sun.webui.jsf.model.Option("no", "Elemento 2")});
  notificacionesDefaultOptions.setSelectedValue("si");

 }

 private SingleSelectOptionsList notificacionesDefaultOptions =
                                                         new SingleSelectOptionsList();

 public SingleSelectOptionsList getNotificacionesDefaultOptions() {
  return notificacionesDefaultOptions;
 }

 public void setNotificacionesDefaultOptions(SingleSelectOptionsList ssol) {
  this.notificacionesDefaultOptions = ssol;
 }

.
.

}

3. Obtener los textos de cada una de las casillas de verificación de un Resource Bundle desde un backing bean

Para realizar la internacionalización de cada uno de los radiobotones del Radio Button Group, tenemos que obtener los textos del fichero paqregusuariovwjsf.Bundle.properties desde el método _init() de la Clase RegistroUsuario, de forma parecida a como lo hicimos en el Paso 6 - Crear un validador personalizado.

En esta ocasión la instancia del la Clase FacesContext la obtendremos a partir del método estático FacesContext.getCurrentInstance().

Página anterior
Ignasi Pérez Valls
fundador-director Infosintesis Solutions Group
asesor-formador independiente
ignasiperez[ARROBA]javadabbadoo[PUNTO]org
Junio 2009
JavaDabbaDoo.org
Tu comunidad Java parlante. Cursos abiertos, tutoriales y mucho mucho más ...