¿Cómo puedo anteponer <%= request.getContextPath() %> a todas las direcciones Url relativas dentro de una página jsp?

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

  •  03-07-2019
  •  | 
  •  

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" />
¿Fue útil?

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

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top