Velocity: Imprimindo métodos

8 respostas
D

Saudações.

Estou fazendo modificações no GujChat para implementação aqui na universidade e estou com dificuldades no velocity.

Tenho um método que é chamado $room.getPassword() , esse método quando chamado em alguns arquivos aparece o “password”, mas em outros arquivos aparece “$room.getPassword()”.

Alguém sabe me dizer se existe algumas configurações que fazem com que o método seja acessivel somente em alguns arquivos?

Obrigado!!!

8 Respostas

Rafael_Steil

Provavelmente “room” nao esta declarado no VelocityContext dos lugares onde aparece a var na tela

Rafael

D

Não entendi, por que aparecia corretamente em algumas paginas e outras não, chamando exatamente o mesmo método?

eduardo_lopes

então esse objeto room não foi carregado no contexto da página em questão, tipo, não está no request nem na session. :slight_smile:

om1

Dá uma olhada na documentação pra vc entender:

http://jakarta.apache.org/velocity/user-guide.html#Quiet%20Reference%20Notation

_fs

Ou simplemente $room é nulo ou o método $getPassord() está retornando nulo.

Para não imprimir nesses casos, adicione um ponto de exclamação após a cifra:

$!room.getPassword()

D

Acredito que seja problema com a sessão ou request.
Por que consigo chamar na pagina por exemplo $room.getDescription()

_fs

Acredito que não :smiley: pois isso acontece às vezes.

Já certificou que o método está retornando algo além de null?

D

Bom se faço

#if ($room.getPassword() != null)
	entrei
#else 
            Fora
#end

Dá erro:

exception.TemplateNotFound

Mas consigo chamar este metodo em outro arquivo.

Criado 18 de abril de 2005
Ultima resposta 18 de abr. de 2005
Respostas 8
Participantes 5