Re:Spring e Custom Tags

4 respostas
urubatan

se for o spring 2.0, tu pode usar em conjunto com o AspectJ e anotar a custom tag com @Configurable
se for o 1.x WebApplicationContextUtils, pega o app context a partir o servlet context disponivel na tag, e busca a tua fachada de la :smiley:

4 Respostas

Mauricio_Linhares

Rapaz, uma custom tag que faz uma chamada a uma classe do modelo da aplicação não me parece ser uma boa solução pra problema nenhum.

Você tem certeza de que precisa fazer isso? Qual é o problema real?

M

Pessoal,

Pra quem domina o Spring aí, é o seguinte: 
Estamos usando a combinação Struts + Spring + Hibernate em um projeto. Surgiu uma necessidade que seria bem resolvida com a criação de uma Custom Tag. Só que a Custom Tag deve fazer chamadas ao modelo para realizar sua tarefa e isso envolve invocar uma fachada do Sistema. Como faço para o Spring injetar a fachada do Sistema em uma Custom Tag? Tentamos da forma tradicional e, como eu suspeitava, deu pau... É possível isso ou é melhor esquecer porque vou ter problemas?
M

urubatan:
se for o spring 2.0, tu pode usar em conjunto com o AspectJ e anotar a custom tag com @Configurable
se for o 1.x WebApplicationContextUtils, pega o app context a partir o servlet context disponivel na tag, e busca a tua fachada de la :D

Valeu Urubatan, como estou usando o 1.x não há jeito de injetar diretamente na Tag? Só dá pra obter mesmo via WebApplicationContextUtils? Aí vai me gerar dependência pro Spring…

Mais uma vez, valeu a dica aí.

[]'s

M

Maurício Linhares:
Rapaz, uma custom tag que faz uma chamada a uma classe do modelo da aplicação não me parece ser uma boa solução pra problema nenhum.

Você tem certeza de que precisa fazer isso? Qual é o problema real?

Pode não ser realmente a melhor solução, mas deste jeito resolveria o problema de forma clara e legível.

O problema é permitir que determinada área da tela seja exibida ou não a um usuário dependendo de regras de segurança. Até aí é muito fácil, a solução é trivial (usuário/perfil/recurso). A questão é que as regras de segurança exigem, além da validação do perfil do usuário, que o dado atual tenha associação de autorização com o usuário corrente. Assim, eu preciso saber se existe associação do registro da entidade a ser manipulada com o tal usuário. Por exemplo, imagine que alguns moderadores só possam moderar alguns tópicos aos quais ele esteja associado aqui no fórum. Aí, além de checar se o cara é um moderador, é preciso saber se ele pode moderar o tópico específico.

Esta regra está implementada no meu modelo, e a tag iria realizar esta verificação e permitir ou não a visualização de determinada área da tela.

Se você imagina um jeito melhor e mais simples, estamos abertos às sugestões.

[]'s

Marco

Criado 13 de outubro de 2006
Ultima resposta 15 de out. de 2006
Respostas 4
Participantes 3