Importando JavaScript em tags JSP
-
09-06-2019 - |
Pergunta
Tenho um arquivo .tag que requer uma biblioteca JavaScript (como em um arquivo .js).
Atualmente estou apenas lembrando de importar o arquivo .js em cada JSP que usa a tag, mas isso é um pouco complicado e sujeito a erros.
Existe uma maneira de fazer a importação do .js dentro da tag JSP?
(por motivos de cache, eu gostaria que o .js fosse uma importação de script)
Solução
Não há razão para que você não possa ter uma tag de script no corpo, embora seja preferível que ela esteja no cabeçalho.Basta emitir a tag script antes de emitir a marcação da sua tag.A única coisa a considerar é que você não deseja incluir o script mais de uma vez se usar a tag jsp na página mais de uma vez.A forma de resolver isso é lembrar que você já incluiu o script, adicionando um atributo ao objeto request.
Outras dicas
Além de incluir o js em todas as páginas automaticamente, acho que não.Realmente não seria algo para o qual as tags foram projetadas.
Sem saber o que sua tag está realmente fazendo (presumivelmente está gerando algo na seção body), então não há como ela conseguir chegar ao cabeçalho para colocar a declaração lá.
Uma solução que poderia (na minha cabeça) funcionar seria ter um include que copia literalmente o que você tem no head após o local no head para importar tags até onde você deseja usar a tag.Isso realmente não é algo que você gostaria de fazer.Você precisaria ter vários arquivos de 'cabeçalho' para importar, dependendo do conteúdo e de onde deseja usar a tag.Pesadelo de manutenção.Apenas uma má ideia.Qualquer solução que eu possa imaginar exigiria mais trabalho do que apenas adicionar manualmente a declaração.
Acho que você está sem sorte e preso em colocá-lo manualmente.
editar:Basta importá-lo em todas as páginas.Ele será armazenado em cache e então esse problema desaparecerá.