JSF Mini Livro – Dicas, conceitos e boas práticas

85

Posted on September 2, 2012 by

Share it now!

Recebendo “null” da view

Boas práticas de programação dizem para evitar a passagem do valor “null” dentro da aplicação, assim podemos evitar o famoso erro NullPointerException. Por padrão o JSF já faz com que toda entrada das telas não seja “null”. Um inteiro recebe zero, um boolean recebe false e um atributo String recebe “”.

Se for requisito receber “null” ao invés de um valor padrão, existe um modo de forçar o JSF a não transformar nenhum valor com valor default. O primeiro passo é adicionar a configuração abaixo ao arquivo web.xml.

<context-param>
    <param-name>javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL</param-name>
    <param-value>true</param-value>
</context-param>

Para o servidor Glassfish apenas a configuração acima já produz o resultado esperado. No caso do Tomcat/JBoss, com essa configuração apenas ainda teremos o valor como “null”. Isso acontece por que o servidor acaba por ignorar a configuração do JSF e não respeita essa alteração. Para forçar o servidor a manter o “null” adicione o seguinte parâmetro de configuração da VM do servidor: -Dorg.apache.el.parser.COERCE_TO_ZERO=”false”.O Tomcat/JBoss irá manter o valor em vazio como “null” e não mais os valores padrões que são fornecidos pelo próprio JSF.

Response to JSF Mini Livro – Dicas, conceitos e boas práticas

1 3 4 5
  1. Bruno

    Hebert gostaria de parabenizá-lo pelo excelente trabalho que vc tem feito no Brasil, compartilhar o conhecimento e ajudar as pessoas é algo muito raro em um mundo tão egoísta como temos observado. Parabéns pela didática e o detalhamento passo a passo no seu material que ajuda todos os níves de estudantes. Qeu Deus abençoe muito a sua vida em todos os sentidos. Um abraço e parabéns pela iniciativa, tem me ajudado demais tb no trabalho.

    • uaihebert Post author

      Bruno, boa noite.

      Fico feliz que estou conseguindo ajudar.

      Valeu mesmo pelo apoio e pela força.

      Deus abençoe aí.

      Obrigado pela visita, e desculpe a demora em responder. Estive

  2. Cleiton Cardoso

    Parabéns pelo artigo Hebert.

    Eu estou com uma dúvida aqui, pelo que andei testando, no ViewScoped o MB não é eliminado da memória quando você fecha a página, só quando você faz um redirect dessa página. Isso é um comportamento que não tem como ser controlado?

    • uaihebert Post author

      Cleiton, boa tarde.

      Um jeito de controlar seria reduzindo o tamanho do tempo de sessão (3min por exemplo), e após fazer isso, você colocaria uma chamada Ajax de curtos períodos (2 em 2 min por exemplo) apenas para manter a sessão ativa.

      Espero ter ajudado, Obrigado pela visita.

  3. Fernando Sciuba

    Hebert , tenho uma dúvida, para um caso de um método synchronized que efetua a persistência no banco neste caso a melhor forma de garantir que somente uma requisição será executada por vez é utilizando o @ApplicationScoped na classe onde o método se encontra? ou não há a necessidade disso!?

    Obrigado e parabéns pelo site.

  4. Marcelo

    Ainda não li tudo, mas pelo que eu já vi estou achando excelente.
    Você poderia fazer também um mini livro de JPA.

    • uaihebert Post author

      Marcelo, boa noite.

      Já existe aqui no blog um mini livro de JPA. Existe também um chamado Consultas e Dicas só com diversas funções de Pesquisa no JPA.

      Até mais.

1 3 4 5

Leave a Reply

Your email address will not be published. Required fields are marked *


*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current day month ye@r *