Bonjour,
J'ai besoin de l'avis d'experts en JavaScript pour m'orienter vers une solution efficace.
Voilà, j'ai des pages JSP dans lesquelles j'intègre du JavaScript. Le truc c'est que ce qui me déplait, c'est que lorsqu'on affiche le source de la page, on y voit tout mon JavaScript (le contenu des tableaux que je remplis, les fonctions que j'utilise ...). Bref, je trouve que du coup il y a trop de choses visibles dans mon source.
On m'a dit que pour éviter ça, il fallait que j'utilise des scripts externes ".js" (comme ça dans le source on verrait juste l'appel à mon script), mais le problème c'est que 1) j'ai lu quelque part que dans les scripts externes, il fallait du JavaScript pur (et donc uniquement du contenu JavaScript), et 2) j'utilise aussi quelques instructions java qui sont liées d'une certaine façon à mon JavaScript.
Je vais essayer de décrire simplement ce à quoi je voudrais arriver :
- Une page JSP contenant des listes déroulantes liées entre elles => utilisation du JavaScript pour modifier le contenu des listes en fonction des choix de l'utilisateur.
- Pour remplir les listes au chargement de la page : instructions java qui me renvoie une liste de formations qui sont le contenu des listes déroulantes.
Donc en gros avec mon ResultSet Java, je récupère toutes les infos nécessaires pour remplir des tableaux JavaScript et ne plus avoir à solliciter le serveur.
Donc ma question est : existerait-il un moyen pour qu'après avoir récupéré mes formations j'appelle un script ".js" qui modifierai le contenu de mes tableaux, mais cela supposerait que je puisse passer les formations que j'ai récupérées via java au script externe.
Bref voilà mon problème. J'ai du mal à voir comment je pourrais m'organiser pour externaliser les traitements JavaScript pour qu'ils n'apparaissent plus dans le source de ma page.
Après quelques recherches je n'ai effectivement trouvé des exemples de scripts externes que pour des traitements qui n'ont rien à voir avec le reste de la page (exemple ".js" contenant le menu dynamique de la page ...).
Merci d'avance à ceux qui pourront m'aider.
A.B
Partager