我遇到了HTML基本元素的问题,没有将上下文附加到任何链接或脚本URL。我在jsp中动态创建基本URL,并在源中设置正确的上下文。但是,头部中的所有引用都在浏览器开发控制台中给出404,并且该页面显然没有css。我正在使用jsp .tag文件设置HTML头。 这是我的index.jsp文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="tag" tagdir="/WEB-INF/tags"%>
<c:set var="req" value="${pageContext.request}" />
<c:set var="uri" value="${req.requestURI}" />
<!DOCTYPE html>
<html>
<head>
<base href="${req.contextPath}" >
<tag:head page="home" />
</head>
<body>
</body>
</html>
所以我将基础设置为头部的第一个东西,然后设置head.tag文件所具有的内容。我也尝试在head.tag文件中设置基础,但这也不起作用。这是head.tag文件
<%@ tag language="java" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="page" required="true" %>
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico"/>
<title> <c:out value="${page}" /> </title>
<meta charset="UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="stylesheet" href="css/layout.css" type="text/css" />
<link rel="stylesheet" href="stylesheet.css" type="text/css" />
<link rel="stylesheet" href="css/slide.css" type="text/css" media="screen" />
<link rel="stylesheet" href="css/jquery-ui/jquery-ui-1.10.3.custom.css" type="text/css" media="screen" />
<script type="text/javascript" src="js/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.10.3.custom.min.js"></script>
<script type="text/javascript" src="js/ajax.js"></script>
<script type="text/javascript" src="js/onLoad.js"></script>
<script type="text/javascript" src="js/cookies.js"></script>
<script type="text/javascript" src="js/spin.js"></script>
<script type="text/javascript" src="js/slide.js"></script>
例如,浏览器正在http://localhost:8080/css/layout.css
查看布局样式表,它应该在http://localhost:8080/WebApp/css/layout.css
中查找
页面呈现时html源代码中的基本元素是<base href="/WebApp">
,它是有效的,因为它是一个绝对URL并定义了根。我甚至尝试设置整个网址http://localhost:8080
关于这里发生的任何想法?谢谢你的帮助!
答案 0 :(得分:0)
值/WebApp
不是绝对网址,href
元素中的base
属性值必须是绝对网址。
根据定义,以斜杠/
开头的任何网址都是相对网址。参考:互联网标准STD 66,目前为RFC 3986,第4.2条。