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 7: Operativa

Vista - RegistroUsuario.jsp - Convertir el valor del código postal a Integer

Con la intención de conocer los convertidores (converters) vamos a hacer en nuestro ejemplo que el código postal se convierta en un Integer. Para ello en la ventana Properties seleccionamos (new IntegerConverter) en la propiedad converter.

aaaa

Como podemos observar el asistente de Netbeans ha rellenado la propiedad converter con el valor integerConverter1

aaaa

la página JSP RegistroUsuario.jsp también ha sido 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 for="codigoPostal" id="lblCodigoPostal"
                     style="left: 320px; top: 140px; position: absolute; width: 136px"                      text="#{mensajes.literal_codigoPostal}"
      />
      <webuijsf:textField columns="5"
                    
converter="#{RegistroUsuario.integerConverter1}"                      id="codigoPostal" required="true"
                     style="left: 320px; top: 160px; position: absolute"
      />
      <webuijsf:message for="codigoPostal"
                     id="msgCodigoPostal" showDetail="false" showSummary="true"                      style="left: 320px; top: 183px; position: absolute; width: 230px"
      />

     </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 IntegerConverter integerConverter1 = new IntegerConverter();

 public IntegerConverter getIntegerConverter1() {
  return integerConverter1;
 }

 public void setIntegerConverter1(IntegerConverter ic) {
  this.integerConverter1 = ic;
 }

.
.

}

Si ejecutamos la aplicación Web e introducimos un código postal no correcto nos aparece el mensaje de error estándar javax.faces.converter.IntegerConverter.INTEGER que muestra por defecto el mensaje form1:codigoPostal: 'ABC' must be a number consisting of one or more digits.

aaaa

Cambiar el texto de un mensaje de validación estándar

Nota: En el siguiente vínculo encontramos una lista de todas las llaves (keys) de los mensajes JavaServer Faces estándares Apéndice - Mensajes de error JSF estándares.

Vamos a personalizar el texto del mensaje de error estándar javax.faces.converter.IntegerConverter.INTEGER tal y como hicimos en el Paso 3 - Cambiar el texto de un mensaje de validación estándar con el error estándar javax.faces.component.UIInput.REQUIRED.

En esta ocasión cuando ejecutamos la aplicación Web y no introducimos un valor numérico en el campo de texto del código postal, vamos a hacer que aparezca el siguiente mensaje de error personalizado: Valor "ABC" tiene que ser numérico.

aaaa
Página anterior
Ignasi Pérez Valls
Infosintesis Solutions Group


Junio 2009
Fundamentos Spring
 
 
 
 
JavaDabbaDoo.org
Tu comunidad Java parlante. Cursos abiertos, tutoriales y mucho mucho más ...