2008-09-08 8 views
7

J'ai un fichier .tag qui nécessite une bibliothèque JavaScript (comme dans un fichier .js).Importation de JavaScript dans les balises JSP

Actuellement je me rappelle juste d'importer le fichier .js dans chaque JSP qui utilise le tag mais c'est un peu lourd et sujet à l'erreur.

Existe-t-il un moyen d'importer le fichier .js dans la balise JSP?

(pour des raisons de mise en cache je voudrais .js d'être une importation de script)

Répondre

5

Il n'y a aucune raison que vous ne puissiez pas avoir une étiquette de script dans le corps, même s'il est préférable qu'elle soit dans la tête. Emettez simplement la balise de script avant d'émettre le balisage de votre balise. La seule chose à considérer est que vous ne voulez pas inclure le script plus d'une fois si vous utilisez la balise jsp sur la page plus d'une fois. La façon de résoudre cela est de se rappeler que vous avez déjà inclus le script, en ajoutant un attribut à l'objet de requête.

2

court de tout, y compris les js dans chaque page automatiquement, je ne pense pas. Ce ne serait vraiment pas quelque chose que les tags sont conçus pour. Sans savoir ce que votre tag est réellement en train de faire (probablement sa sortie quelque chose dans la section du corps) alors il n'y a aucun moyen qu'il sera en mesure d'obtenir en tête de mettre la déclaration là.

Une solution qui pourrait (dans ma tête) travailler serait d'avoir un include qui copie textuellement ce que vous avez dans la tête après l'endroit dans la tête pour importer des tags jusqu'à l'endroit où vous voulez utiliser le tag. Ce n'est vraiment pas quelque chose que vous voudriez faire. Vous devez avoir plusieurs fichiers 'en-tête' à importer en fonction du contenu et de l'endroit où vous souhaitez utiliser le tag. Cauchemar de maintenance. Juste une mauvaise idée tout le tour. Toute solution que je peux penser nécessiterait plus de travail que manuellement en ajoutant simplement dans la déclaration.

Je pense que vous êtes hors de la chance et coincé avec elle mettre manuellement dans

modifier. Il suffit de l'importer dans chaque page. Il sera mis en cache et ce problème disparaîtra.

+1

Fondamentalement, il s'agit d'un composant ajax, donc il affiche des données et ensuite besoin d'une logique JS spéciale pour appeler une action, etc. C'est pourquoi je voudrais qu'il soit autonome; donc vous pouvez en laisser tomber un et en avoir fini avec. – SCdF

Questions connexes