Comment ajouter <%= request.getContextPath() %> à toutes les URL relatives dans une page jsp ?

StackOverflow https://stackoverflow.com/questions/157905

  •  03-07-2019
  •  | 
  •  

Question

Le sujet dit presque tout.Comment puis-je corriger automatiquement les pages jsp afin que les URL relatives soient mappées sur le chemin contextuel au lieu de la racine du serveur ?C'est-à-dire, étant donné par exemple

<link rel="stylesheet" type="text/css" href="/css/style.css" />

comment puis-je configurer les choses de manière à mapper le CSS à my-server/my-context/css/style.css au lieu de my-server/css/style.css?Existe-t-il un moyen automatique de le faire, autre que de changer toutes les lignes comme ci-dessus en

<link rel="stylesheet" type="text/css" 
      href="<%= request.getContextPath() %>/css/style.css" />
Était-ce utile?

La solution

Regardez dans le <BASE HREF=""> étiqueter.Il s'agit d'une balise HTML qui signifie que tous les liens de la page doivent commencer par votre URL de base.

Par exemple, si vous avez spécifié <BASE HREF="http://www.example.com/prefix"> et puis j'ai eu <a href="/link/1.html"> alors le lien devrait en fait vous amener à /prefix/link/1.html.Cela devrait également fonctionner sur <LINK> (feuille de style) balises.

Autres conseils

Le meilleur moyen consiste à utiliser HttpServletResponse.encodeURL () pour construire l'URL appropriée

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top