E agora ? O que fazer quando o usuário não digirar nada e o Tomcat converter para ZERO ? Quando o usuário digitar ZERO quando vou saber se foi o javax.el que converteu ou o usuário que digitou ?
Ué? Não entendi o fato de você citar o JBoss AS e o Tomcat na história (talvez você queria afugentar os especialistas em Weblogic ou Glassfish, sei lá), essa característica faz parte do Faces padrão.
Existem várias possibilidades para resolver seu “problema”:
:arrow: Se branco é um valor inválido e zero, válido; basta colocar no seu componente o atributo:
:arrow: Se tanto branco quanto zero forem inválidos; basta, como filho de h:inputText, colocar a validação:
:arrow: Se branco e zero forem válidos; use Integer (classe) ao invés de int (tipo primitivo) que, ao enviar branco, a sua variável estará como null.
É isso.
F
fre_d
A espeficiação é do javax.el !!! Citei o Tomcat e o JBoss 5 beta 4 porque ambos ja estão implementando de acordo com a especificação.
No meu post está java.lang.Integer.
A característica não faz parte do faces padrão, o IntegerConverter retorna null se o valor for “” (branco).
O problema é que IntegerConverter retorna null e a implementação do javax.el seta ZERO. Entendeu ?
Anexei a aplicação, você pode testar usando tomcat 6.0.16 ou jboss 5 beta 4.
D
DanielPaiva
Alguem sabe se já corrigiram isto ?
leandrogmuller
Estou com o mesmo problema, já saiu a versão 5.1 e mesmo erro. Alguém conseguiu resolver?
D
DanielPaiva
Inclua esta linha no fim do seu “catalina.properties” a seguinte instrucao:
org.apache.el.parser.COERCE_TO_ZERO=false
leandrogmuller
catalina.properties é do tomcat 6.
Não encontrei esse arquivo no jboss 5
D
DanielPaiva
na verdade este aquivo está dentro da pasta conf do tomcat.
leandrogmuller
Esse problema ainda continua, tentei colocar no run.conf mas também não funciona.
Esse catalina.properties não existe mais no jboss 5.1
leandrogmuller
Problema resolvido, tem que inicializar com -Dorg.apache.el.parser.COERCE_TO_ZERO=false
dessa forma
run.bat -Dorg.apache.el.parser.COERCE_TO_ZERO=false
mesmo colocando dentro run.conf nao funciona, so na linha de comando
F
fre_d
Ainda estou com um problema similar. Os campos “” (Vazio) não são convertidos para NULL, alguém encontrou uma solução ?.
Ninguém na face da terra tem solução p/ isso???
Afinal é um bug do tomcat ou o quê???
Já pesquisei em todos locais possíveis…quem souber solução estou precisnado tb…
Tentei isso mas nada…ainda ves aspas e não null
Valeu!!
A
apalmeira
Olá pessoal,
Alguém sabe se já existe correção para isso? Utilizo o Jboss 5.0.