Duda existencial sobre JSF

Hola a todos

Tengo una pequeña duda existencial sobre JSF 2 en concreto con relacion a beans y la vista

En los beans los atributos que estan relacionados con algun componente en la vista los declaro como por ejemplo Integer en lugar de int
ya que si no lo hago asi en la vista el cuadro de texto aparece con un "0" en lugar de cuadro vacio ¿Esto es asi forzamente o algo estoy haciendo mal? realemente no se me hace buena practica estar ocupando wrapper.

Otra cosa para limpiar el formulario lo que hago es poner a null cada variable en un metodo limpiar() y mandar a actualizar el formulario, no se pero esto tampoco se me hace muy "nice" ¿existe otra manera de hacerlo?

Gracias de antemano.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de 043h68

Limpieza.

Apuntar null las variables en tu método de limpiar le dejará bien claro al Garbage Collector que no nos interesa mantenerlas en memoria, así que podría ser buena idea dejarlas apuntando a null si es es el caso.

La otra opción es Javascript, solo para limpiar el form. >.<'

Imagen de sr.bug

wrapper

Pero esto implica declarar todos los atributos como wrapper por ejemplo para un formulario de busqueda

private Integer folio;
private Double montoMayor;

public void limpiar(){
folio=null;
montoMayor=null;
}

ya que de ser datos primitivos no se podria hacer esto, ademas al entrar a la pantalla con los atributos negativos aparecerian como:

Folio: 0
Monto maximo: 0

por default siendo que no haz capturado nada.

Entonces es buena practica ocupar los wrapper?

En JSF los campos de la vista

En JSF los campos de la vista están enlazados con los campos en los Beans.

Los campos numéricos primitivos en Java son siempre inicializados en 0 (variables de instancia), mientras que los campos de tipo Object son inicializados a NULL.

Es por eso que al usar tipos primitivos aparecen los 0. En JSF los valores nulos normalmente son ignorados y no se "imprimen" en pantalla, por eso ves los campos vacíos al usar Integer.

Si el usuario no escribiera nada en un campo enlazado a una variable de tipo "int" ¿ Que valor esperarías encontrar en la variable?

En lo personal no le veo el problema a usar wrappers. ¿ Cuál es el inconveniente ?

Si te fuera necesario, podrías alterar el comportamiento anterior mediante Expression Language y/o convertidores.

En cuanto a la forma de limpiar el formulario, lo que haces es lo correcto. Tienes que establecer el valor por defecto de cada campo. Solo revisa en que contexto está definido tu bean (sesión, petición, aplicación). Quizá con el simple hecho de no actualizar el modelo te sea suficiente y para eso hay mecanismos en el ciclo de vida de JSF. Pero esto último depende mucho de como esté construida tu aplicación, y de tus necesidades.

Imagen de sr.bug

wrappers

En realidad esta es la manera en la que he estado trabajando pero por alguna razon no me convence el uso de los wrappers, pero creo que seguire trabajando tal cual.

Muchas gracias por sus opiniones.