Le primitif int
La valeur par défaut est toujours 0
. Vous voulez utiliser Integer
à la place. Par exemple :
public class Entity {
private Integer value;
// ...
}
Quant à le garder null
tout en soumettant des données vides, ajoutez le paramètre contextuel suivant à votre fichier web.xml
:
<context-param>
<param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
<param-value>true</param-value>
</context-param>
En outre, si vous utilisez Tomcat ou un clone qui utilise l'analyseur Apache EL, ajoutez également l'argument suivant pour la VM de démarrage du serveur afin d'éviter qu'elle ne traite Number
comme des primitives :
\-Dorg.apache.el.parser.COERCE\_TO\_ZERO=false
Dans Eclipse, vous pouvez le définir dans la configuration du serveur (double-cliquez sur l'entrée du serveur dans la section Serveurs ) dans la Arguments de l'onglet Configuration du lancement ouvert dialogue. En production, vous pourriez l'ajouter à la JAVA_OPTS
variable d'environnement.