Come faccio a anteporre <%= request.getContextPath() %> per tutti gli Url relativi all'interno di una pagina jsp?

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

  •  03-07-2019
  •  | 
  •  

Domanda

L'oggetto dice tutto, o quasi.Come faccio a correggere automaticamente le pagine jsp in modo che gli Url relativi sono mappato il percorso del contesto invece di root del server?Che è dato, per esempio,

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

come faccio a impostare-up le cose in modo che le mappe di css per my-server/my-context/css/style.css invece di my-server/css/style.css?C'è un modo automatico per farlo, altro che cambiare tutte le linee come quella di cui sopra per

<link rel="stylesheet" type="text/css" 
      href="<%= request.getContextPath() %>/css/style.css" />
È stato utile?

Soluzione

Guardare il <BASE HREF=""> tag.Questo è un tag HTML, il che significa tutti i link sulla pagina dovrebbe iniziare con il vostro URL di base.

Per esempio, se è stato specificato <BASE HREF="http://www.example.com/prefix"> e poi aveva <a href="/link/1.html"> di seguito il link dovrebbe, in realtà, si prefix/link/1.html.Questo dovrebbe funzionare anche su <LINK> (foglio di stile) tag.

Altri suggerimenti

Il modo migliore è HttpServletResponse.encodeURL () che costruirà l'URL appropria

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top