Como acrescento <%= request.getContextPath() %> a todos os URLs relativos dentro de uma página jsp?

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

  •  03-07-2019
  •  | 
  •  

Pergunta

O assunto diz tudo, quase.Como faço para corrigir automaticamente as páginas jsp para que os URLs relativos sejam mapeados para o caminho do contexto em vez da raiz do servidor?Ou seja, dado por exemplo

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

como faço para configurar as coisas de uma forma que mapeie o css para my-server/my-context/css/style.css em vez de my-server/css/style.css?Existe uma maneira automática de fazer isso, além de alterar todas as linhas como acima para

<link rel="stylesheet" type="text/css" 
      href="<%= request.getContextPath() %>/css/style.css" />
Foi útil?

Solução

Olhe para o <BASE HREF=""> marcação.Esta é uma tag HTML que significa que todos os links da página devem começar com seu URL base.

Por exemplo, se você especificou <BASE HREF="http://www.example.com/prefix"> e então teve <a href="/link/1.html"> então o link deve levar você para /prefix/link/1.html.Isso também deve funcionar <LINK> (folha de estilo) tags.

Outras dicas

A melhor maneira é HttpServletResponse.encodeURL (), que irá construir a url appropria

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top