¿Cómo puedo anteponer <%= request.getContextPath() %> a todas las direcciones Url relativas dentro de una página jsp?
Pregunta
El tema lo dice todo, casi.¿Cómo puedo corregir automáticamente las páginas jsp para que las direcciones Url relativas asignadas para el contexto ruta de acceso en lugar de la raíz del servidor?Es decir, dado por ejemplo
<link rel="stylesheet" type="text/css" href="/css/style.css" />
¿cómo puedo establecer las cosas de una manera que los mapas de la css my-server/my-context/css/style.css
en lugar de my-server/css/style.css
?Hay una forma automática de hacerlo, otros que cambiar todas las líneas como la de arriba a
<link rel="stylesheet" type="text/css"
href="<%= request.getContextPath() %>/css/style.css" />
Solución
Mira en el <BASE HREF="">
etiqueta.Esta es una etiqueta HTML que significa que todos los enlaces de la página deben comenzar con su URL base.
Por ejemplo, si especificaste <BASE HREF="http://www.example.com/prefix">
y luego tuvo <a href="/link/1.html">
entonces el enlace debería llevarte a /prefix/link/1.html.Esto también debería funcionar en <LINK>
Etiquetas (hoja de estilo).
Otros consejos
La mejor forma es HttpServletResponse.encodeURL () que construirá la url apropiada