Básico s:if

4 respostas
hesenger

Já utilizei bastante o s:if do struts 2, mas agora me veio uma coisa a cabeça
e só por curiosidade gostaria de saber como é:

Tenho uma classe que se chama Seguranca, com um método estático isLogado(),
logo um if seria:

if (Seguranca.isLogado()) { pararapapa... }

Mas no s:if como ficaria? Já tentei tudo que me veio a cabeça e não funcionou.

Valeu.

4 Respostas

V

Pelo que eu sei não é possível utilizar métodos nas taglibs.

Porque você não usa o método na action e apenas verifica uma propriedade boolean no <s:if.
Mais fácil, acredito, e vai dar no mesmo uma vez que a action sempre vai passar pelo controller antes de chegar na View.

Caso queira que execute antes da Action utilize o Prepare

hesenger

Ao meu ver isLogado() é apenas um getter para a propriedade logado, e não
um método como vc disse.

A questão seria a classe ser estática, pois se fosse uma instância, como em um pojo por exemplo,
o s:if funcionaria direitinho (isso é comum nos meis códigos).

Mas de qualquer maneira se não funciona mesmo. Valeu viniciuscagnotto.

C

o formulário que vc criou passa por 1 controler antes ?

se passar vc poderia setar 1 variavel e mandar pro request assim do outro lado vc testaria facil com o s:if

Christian

V

Sim, é um método getter. Se você passa pelo controller, utilize este para fazer a verificação, assim como disse Cemillen.

Criado 26 de fevereiro de 2009
Ultima resposta 2 de abr. de 2009
Respostas 4
Participantes 3