Базовый URL-адрес в Internet Explorer и JSP

Internet Explorer не поддерживает HTML <base> tag and even other browsers do, there are some problems when redirect takes place in сервлеты to some.jsp pages for example запрос диспетчеризации.

Можно добавить ${pageContext.request.contextPath} с каждым URL-адресом ни request.getServletPath()

Относительные ссылки JSP для CSS и изображений с пересылкой сервлетов могут многое изменить. Эта ссылка: Браузер не может получить/найти относительные ресурсы, такие как CSS, изображения и ссылки при вызове сервлета, который пересылает JSP

Есть ли лучший подход с JSP/сервлетами или это просто проблема IE?
Ссылка: HTML <base> TAG и путь к локальной папке с Internet Explorer

И если это проблема IE:
1. Как исправить проблему IE, поскольку вышеуказанная статья не может дать правильный ответ?
2. Как решить проблему с помощью JSP/сервлетов?


На моем веб-сайте теперь отображаются CSS и изображения.
Например. Выход HTML:

<base href="#" onclick="location.href='http://localhost:8080/Alpinema/'; return false;" /> is not working for 
<link media="all" rel="stylesheet" type="text/css" href="css/all.css">

Он работает в других браузерах, таких как Firefox и Chrome.

Часть моего кода JSP:

<head>
    <base href="${fn:substring(url, 0, fn:length(url) - fn:length(uri))}${req.contextPath}/" />
    <meta charset="utf-8">
    <title>Alpinema.com</title>
    <link media="all" rel="stylesheet" type="text/css" href="css/all.css">
   /css?family=Merriweather|PT+Sans:700|Nobile:400italic' rel='stylesheet' type='text/css'>
</head>

Ответы

Ответ 1

Используйте тег <c:url> из JSTL для ссылки на ресурсы CSS/JavaScript внутри моих JSP файлов. Поступая таким образом, вы можете быть уверены, что ресурсы CSS/JavaScript ссылаются всегда относительно контекста приложения (контекстный путь).


Пример

index.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!DOCTYPE html>
<html>
<head>
  <title>Some Title</title>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <link type="text/css" rel="stylesheet" href="<c:url value="/css/main.css" />" />
  <script type="text/javascript" src="<c:url value="/js/utils.js" />"></script>
  <script type="text/javascript" src="<c:url value="/js/jquery-1.8.3.js" />"></script>
</head>
<body>
...
</body>
</html>

Для получения большего количества решений см. мой ответ здесь:
Добавление внешних ресурсов (CSS/JavaScript/images и т.д.) в JSP.