0

<base> tag and even other browsers do, there are some problems when redirect takes place inInternet Explorer は、HTMLサーブレットto someの .jsppages for exampleリクエストのディスパッチをサポートしていません。

${pageContext.request.contextPath}各 URLに追加することも、request.getServletPath()

サーブレット転送を使用した CSS と画像の JSP 相対リンクは、状況を大きく変える可能性があります。このリンク:ブラウザは、JSP に転送するサーブレットを呼び出すときに、CSS、画像、リンクなどの相対リソースにアクセス/検索できません

JSP / サーブレットを使用したより良いアプローチはありますか、それとも単に IE の問題ですか?
リンク : HTML <base> TAG および Internet Explorer でのローカル フォルダー パス

IE の問題の場合:
1. 上記の投稿では有効な回答が得られないため、IE の問題を修正するにはどうすればよいですか?
2. JSP/サーブレットで解決するには?


私のウェブサイトに CSS と画像が表示されるようになりました。
たとえば、HTML 出力は次のとおりです。

<base href="http://localhost:8080/Alpinema/" /> 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>
4

1 に答える 1

4

JSTLのタグを使用<c:url>して、JSPファイル内のCSS/JavaScriptリソースを参照します。そうすることで、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>

さらに多くの解決策については、ここで私の答えを参照してください:
JSPでの外部リソース(CSS / JavaScript /画像など)の追加

于 2012-12-28T00:19:42.543 に答える