与元素类型“null”关联的属性“href”的值不得包含“<”字符

时间:2013-01-18 01:02:32

标签: java css spring jsp mapping

我是Java和Spring的新手。我在尝试应用CSS样式时遇到错误。 这是我的jsp:

<jsp:root version="1.2" xmlns:jsp="http://java.sun.com/JSP/Page"
xmlns:display="urn:jsptld:http://displaytag.sf.net"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:spring="http://www.springframework.org/tags">
<jsp:directive.page contentType="text/html; charset=UTF-8" />
<jsp:directive.page import="test1.domain.*" />

<html>
<head>
<title>CD Catalog</title>
<link href='<c:url value="/css/displaytag.css" />' rel="stylesheet" type="text/css" />
</head>
and so on...

css文件夹与WEB-INF在同一级别。

在我的servlet.xml中,我有:

<mvc:resources mapping="/**" location="/*" />

我得到的下一个错误:

HTTP状态500 - /WEB-INF/jsp/test_task.jsp(11,15)与元素类型“null”关联的属性“href”的值不得包含“&lt;”字符。

我还尝试了单引号和双引号,并尝试了相同的双引号,但没有成功。

我很感激任何建议。 提前谢谢。

1 个答案:

答案 0 :(得分:7)

请在标题中添加标记库声明<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>。 taglib指令声明您的JSP页面使用一组自定义标记(此处为c:url),并标识库的位置。如果没有该指示,您的JSP文件将以(href)属性结束,该属性包含未转义的<字符,该字符不是有效的XML。

<强>更新

只是意识到您正在使用JSP文档而不是JSP页面,并且您已经声明了名称空间xmlns:c,因此不再需要taglib。由于JSP文档严格要求格式良好的XML文档,因此它会抱怨您的链接的href属性(内部未转义为<)。为避免这种情况,请尝试:

<c:url var="url" value="/css/displaytag.css" />
<link href="${url}" rel="stylesheet" type="text/css" />