Alcance de uma expression language

3 respostas
adrianostanley

Acabei sendo pego de surpresa por uma situação nova utilizando expression languages…
Tenho 5 classes… sendo que a classe5 possui objetos da classe4 que possui objetos da classe3 e assim por diante.
Quando utilizo uma expression language em minha página jsp dessa maneira:

{$beanclasse.classe5}

a classe5 é escrita normalmente na página…
visto que a classe5 chama os toStrings dos objetos de classe4 que chama os toStrings dos objetos de classe3, etc, fica provado que não há objetos nulos em nenhuma classe…
Ainda assim o trecho de código

{$beanclasse.classe5.classe4}

imprime um objeto da classe4 normalmente…
A partir daí, as próximas chamadas retornam nulo, como por exemplo:

{$beanclasse.classe5.classe4.classe3}

Há algum limite de alcance nas expression languages?

3 Respostas

T

não q eu saiba, geralmente elas são baseadas em recursividade…

ddduran

tambem não conheço tal limitação.

ele chega a escrever null?
por que se um objeto é nulo a EL não escreve nada, se ele escreveu null o toString de um dos objetos (provavelmente o ultimo) está retornando “null”

quando você escreve {$beanclasse.classe5.classe4} quer dizer ${beanclasse.classe5.classe4} né?

Há uma “convenção”, eu só não lembro o nome, que diz que não é muito interessante descer mais de 3 niveis na chamada de outros objetos aninhados

adrianostanley

o erro está mesmo é na busca pelo hibernate…
o estranho é que quando o toString da classe 5 é chamado, os outros também o são e são impressos normalmente… mas o getAtributo() de uma classe presente na classe 4 retorna nulo…
valeu pessoal…

Criado 23 de janeiro de 2008
Ultima resposta 23 de jan. de 2008
Respostas 3
Participantes 3