| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2008 11:08:00
|
fre_d
Java Ninja
Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline
|
Pessoal,
Estou utilizando jboss-5.0.0.Beta4 (Tomcat 6.0.16) e me deparei com o seguinte "problema":
Os campos input que fazem referência para valores do tipo java.lang.Integer no meu bean.
Quando submetidos em branco o valor é convertido para zero. (O converter default para java.lang.Integer é o IntegerConverter do faces)
Procurei na internet e encontrei a explicação na especificação do javax.el.
1.18.3 Coerce A to Number type N
- If A is null or "", return 0.
Implementação da classe do Tomcat que faz a conversão.
http://www.javaresearch.org/source/jakarta/commons/el1.0/org/apache/commons/el/Coercions.java.html
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 ?
[]'s
Fred
This message was edited 2 times. Last update was at 30/03/2008 17:49:02
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 30/03/2008 20:12:47
|
Leonardo3001
GUJ Ranger
Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline
|
fre_d wrote: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":
Se branco é um valor inválido e zero, válido; basta colocar no seu componente o atributo:
Se tanto branco quanto zero forem inválidos; basta, como filho de h:inputText, colocar a validação:
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.
|
Leonardo Veríssimo
-------------------------------------------------
Objectzilla |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 31/03/2008 11:52:15
|
fre_d
Java Ninja
Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline
|
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.
| Nome do arquivo |
FacesInteger.rar |
Download
|
| Descrição |
Aplicação para teste |
| Tamanho |
5 Kbytes
|
| Baixado: |
101 vez(es) |
This message was edited 3 times. Last update was at 31/03/2008 12:04:51
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 06/08/2008 10:21:52
|
DanielPaiva
JavaTeenager
Membro desde: 26/05/2004 18:35:58
Mensagens: 192
Offline
|
Alguem sabe se já corrigiram isto ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 23/05/2009 14:02:13
|
leandrogmuller
Debugger
![[Avatar]](/images/avatar/d78d54dde8fbb7dbc9c38f1e37320def.png)
Membro desde: 19/11/2008 12:30:27
Mensagens: 55
Localização: Paranavaí
Offline
|
Estou com o mesmo problema, já saiu a versão 5.1 e mesmo erro. Alguém conseguiu resolver?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/05/2009 06:44:45
|
DanielPaiva
JavaTeenager
Membro desde: 26/05/2004 18:35:58
Mensagens: 192
Offline
|
Inclua esta linha no fim do seu "catalina.properties" a seguinte instrucao:
org.apache.el.parser.COERCE_TO_ZERO=false
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/05/2009 06:55:48
|
leandrogmuller
Debugger
![[Avatar]](/images/avatar/d78d54dde8fbb7dbc9c38f1e37320def.png)
Membro desde: 19/11/2008 12:30:27
Mensagens: 55
Localização: Paranavaí
Offline
|
catalina.properties é do tomcat 6.
Não encontrei esse arquivo no jboss 5
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/05/2009 06:57:50
|
DanielPaiva
JavaTeenager
Membro desde: 26/05/2004 18:35:58
Mensagens: 192
Offline
|
na verdade este aquivo está dentro da pasta conf do tomcat.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 08:53:03
|
leandrogmuller
Debugger
![[Avatar]](/images/avatar/d78d54dde8fbb7dbc9c38f1e37320def.png)
Membro desde: 19/11/2008 12:30:27
Mensagens: 55
Localização: Paranavaí
Offline
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/06/2009 09:01:18
|
leandrogmuller
Debugger
![[Avatar]](/images/avatar/d78d54dde8fbb7dbc9c38f1e37320def.png)
Membro desde: 19/11/2008 12:30:27
Mensagens: 55
Localização: Paranavaí
Offline
|
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
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2009 16:45:56
|
fre_d
Java Ninja
Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline
|
Ainda estou com um problema similar. Os campos "" (Vazio) não são convertidos para NULL, alguém encontrou uma solução ?.
Valeu,
Fred
Implementação do EL
This message was edited 1 time. Last update was at 09/07/2009 16:48:19
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2009 17:06:06
|
gleyve
What is classpath?
Membro desde: 11/09/2008 10:56:30
Mensagens: 7
Offline
|
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!!
This message was edited 2 times. Last update was at 21/08/2009 17:08:10
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/06/2010 13:53:24
|
apalmeira
Java Ninja
Membro desde: 01/11/2006 00:48:21
Mensagens: 250
Offline
|
Olá pessoal,
Alguém sabe se já existe correção para isso? Utilizo o Jboss 5.0.
Vlw
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2010 08:25:11
|
IAX
Thread.start()
![[Avatar]](/images/avatar/292f541e86a2c616f7dad12cd9c820b8.jpg)
Membro desde: 11/05/2007 03:15:13
Mensagens: 46
Localização: Uberlândia - MG
Offline
|
Bom Dia pessoal,
Como o tópico ainda não está fechado resolvi ajudar, se alguém precisar uma solução nesse http://www.guj.com.br/java/228436-jsf-seta-zero-para-valores-null-do-inputtext-resolvido existe uma bem legal.
flws
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/12/2010 08:40:16
|
apalmeira
Java Ninja
Membro desde: 01/11/2006 00:48:21
Mensagens: 250
Offline
|
A solução está logo acima!
org.apache.el.parser.COERCE_TO_ZERO=false
Utilizo JBoss e funcionou.
Abraços
|
|
|
 |
|
|