[RESOLVIDO] Usar JSTL para saber se um objeto implementa uma interface. Como fazer?

6 respostas
M

Olá, gostaria de saber se é possível, com JSTL, verificar se uma objeto é do tipo da interface.

Tipo, só que com JSTL:

ErrorMessage.class.isInstance(obj);

Ou seria melhor eu adicionar um atributo tipo, e usar getTipo?

6 Respostas

diogozero

Pra que seria exatamente? Pode ter uma alternativa melhor

M

É só para saber qual o tipo de mensagem. Pra então definir a classe de css.

Se for mensagem de erro, border vermelha.
Mensagem de aviso, border amarelo.
Mensagem informativa, border cinza e fundo branco.

J

Amigo, desconheço se é possível mas na minha humilde opnião, acho que o mais correto não seria tratar desta forma. Eu trataria em diversas mensagens diferentes e condições especificas para cada uma delas, ou então um atributo do objeto da mensagem (Tipo de mensagem por exemplo).

luiz_renato

Até onde sei instanceof é palavra reservada da JSTL.

Não tenho como testar aqui mas se fosse possivel usar o <c: if test= "${objeto.class==Classe}"> vc conseguiria.

No entanto concordo com o jmmenezes, seria mais interessante fazer com que as subclasses tivessem atributo indicando o tipo de mensagem, daí o uso do JSTL seria mais natural.

fbl.lucas

Lembro de ja ter utilizado desta forma:

<c: if test= "${objeto instanceof br.com.Classe}">
M

Obrigado todos pela ajuda.

Vou usar o getType mesmo. Fica menos complicado, hehehe.

Criado 17 de maio de 2012
Ultima resposta 18 de mai. de 2012
Respostas 6
Participantes 5