JSF seta zero para valores NULL do inputText [RESOLVIDO]

Boa Tarde Pessoal,

Estou desenvolvendo uma aplicação utilizando RichFaces e tenho um <h:inputText /> ligado à um tipo de dado numérico Wrapper (Long, Integer e/ou BigDecimal) no meu Bean, quando submeto o formulário com o valor igual a Null o JSF seta o conteúdo para ZERO, sei que esse é um comportamento do prórpio JSF. Gostaria de saber se há alguma forma de modificar esse comportamento, por exemplo, se não informei valor algum quero que continue NULL.

PS.: quando o <h:inputText /> está desabilitado os valores continuam NULL pois o método set do atributo ligado não é invocado.

Obrigado.

Iso é padrão do JSF para não dar uns erros relativos a tu ter um atributo que seja um tipo primitivo, que não aceita null.
Para mudar esse comportamento, tu precisa iniciar o servidor/webcontainer passando o parametro:

-Dorg.apache.el.parser.COERCE_TO_ZERO=false

Bom Dia a todos,

Talvez possa interessar a alguém, partindo da dica do jaziel abaixo encontrei algumas soluções pro meu problema, mas a melhor e inclusive a que estou utilizando é a que segue.

Seta-se a propriedade citada pelo Jaziel no startup da aplicação da seguinte forma.

No seu web.xml registre um listener que será criado por você.

	&lt;listener&gt;
		&lt;listener-class&gt;meu.pacote.MyServletContextListener&lt;/listener-class&gt;
	&lt;/listener&gt;

E então crie o Listener e setando a propriedade.

package meu.pacote;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class MyServletContextListener implements ServletContextListener {

	@Override
	public void contextDestroyed(ServletContextEvent sce) {

	}

	@Override
	public void contextInitialized(ServletContextEvent sce) {
		System.getProperties().put("org.apache.el.parser.COERCE_TO_ZERO", "false");
	}
}

Uma boa observação é que funciona no Tomcat e no JBoss (pois este utiliza aquele como container web), testei em ambos, outros servidores não testei.

Espero ter ajudado alguém.

Olá IAX
Vlw ai pela dica estava com este problema, graças a este tópico foi resolvido.

Sussegado, é sempre bom poder ajudar!

Até mais!

Pessoal, tentei usar a dica do IAX mas sem sucesso.

Estou utilizando JSF 2.1.7 Mojarra e Primefaces 3.5 com Jboss AS 7.1 Final. Alguma dica?

<p:outputLabel for="beanDataInclusao" value="#{msgs.beanProcessoInclusao}" /> <p:inputText id="beanDataInclusao" value="#{beanMB.beanprocessoInclusao}" />

Vou fazer testes para ver se não é o input do primefaces.

Edit: Resolvido. Funcionou após um clean project e full publish. Ratiada minha. Obrigado!

Valeu IAX, graças a essa dica resolvi meu problema tambem,

Boa Tarde!!

Fiz a alteracao no web.xml que foi escrito acima e criei o Listener setando a propriedade. Mas não funcionou.
Será que voces podem me ajudar ?

Web.xml

org.springframework.web.context.ContextLoaderListener

<listener>  
    <listener-class>com.frame.contacorrente.util.AppContextListener</listener-class>  
</listener>  

O Listener

package com.frame.contacorrente.util;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
import javax.servlet.annotation.WebListener;

@WebListener
public class AppContextListener implements ServletContextListener {

@Override
public void contextDestroyed(ServletContextEvent event) {
	
}

@Override
public void contextInitialized(ServletContextEvent event) {
  System.getProperties().put("org.apache.el.parser.COERCE_TO_ZERO", "false");  	
	
}

}

Obrigada