Wie stelle ich <%= request.getContextPath() %> allen relativen URLs innerhalb einer JSP-Seite voran?

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

  •  03-07-2019
  •  | 
  •  

Frage

Das Thema sagt fast alles.Wie korrigiere ich JSP-Seiten automatisch, sodass relative URLs dem Kontextpfad und nicht dem Serverstamm zugeordnet werden?Das ist zum Beispiel gegeben

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

Wie richte ich Dinge so ein, dass sie dem CSS zugeordnet werden? my-server/my-context/css/style.css anstatt my-server/css/style.css?Gibt es eine automatische Möglichkeit, dies zu tun, außer alle Zeilen wie oben in zu ändern?

<link rel="stylesheet" type="text/css" 
      href="<%= request.getContextPath() %>/css/style.css" />
War es hilfreich?

Lösung

Schauen Sie in die <BASE HREF=""> Etikett.Dies ist ein HTML-Tag, was bedeutet, dass alle Links auf der Seite mit Ihrer Basis-URL beginnen sollten.

Zum Beispiel, wenn Sie angegeben haben <BASE HREF="http://www.example.com/prefix"> und dann hatte <a href="/link/1.html"> dann sollte der Link Sie tatsächlich zu /prefix/link/1.html führen.Das sollte auch funktionieren <LINK> (Stylesheet-)Tags.

Andere Tipps

Der bessere Weg ist zu HttpServletResponse.encodeURL (), die die URL? Fall konstruieren wird

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top