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 
Re:Spring e Custom Tags
4 Respostas
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?
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?
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
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