【问题标题】:DOUBLE_WHITESPACE in PATH errorPATH 错误中的 DOUBLE_WHITESPACE
【发布时间】:2015-02-13 17:29:35
【问题描述】:

我正在学习 JSTL,并从 this link 中的教程点开始学习 当我尝试在页面中执行该示例时

     <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
     <html>
     <head>
     <title><c:url> Tag Example</title>
     </head>
     <body>
     <a href="<c:url value="/jsp/index.htm"/>">TEST</a>
     </body>
     </html>

我收到以下错误。

但我不明白为什么以及解决方案是什么?

【问题讨论】:

  • 看起来您的 c:url 调用返回的是空格。是否有任何其他标签可以提供您期望的输出?
  • 除了href="new.jsp",每次都是同样的错误。

标签: java jsp jstl


【解决方案1】:

验证器可能被嵌套的双引号弄糊涂了:

<a href="<c:url value="/jsp/index.htm"/>">TEST</a>

您可以通过以下方式使代码更简洁:

<c:url value="/jsp/index.htm" var="myUrl" />
<a href="${myUrl}">TEST</a>

将处理后的 URL 的值分配给名为 'myUrl' 的 var,然后使用 JSP 表达式语言输出 URL。

【讨论】:

  • 感谢您的帮助。但它不工作。我猜它与'{'有问题。我用的是netbeans 7.2 和它有什么关系吗?
【解决方案2】:

改变这一行:

<title><c:url> Tag Example</title>

作者:

<title>&LT;c:url&GT; Tag Example</title>

否则,JSP 引擎会将此 (&lt;c:url&gt;) 解释为要处理的标记的开头。

【讨论】:

  • 错误没有消失。它还在那里。我对这个错误很生气。它的简单例子。
  • 该错误不会出现在 NetBeans 8.0.2 中。在最好的情况下,只需忽略它。
【解决方案3】:

您需要将嵌套引号转义为

<a href="<c:url value=\"/jsp/index.htm\"/>">TEST</a>

否则,HTML 解析器会将 "&lt;c:url value=" 视为 href 值并抱怨其间的空间。或者,您可以使用单引号和双引号作为

<a href='<c:url value="/jsp/index.htm"/>'>TEST</a>

或者,

<a href="<c:url value='/jsp/index.htm'/>">TEST</a>

【讨论】:

  • 感谢您的帮助,但都没有奏效。每个解决方案都会弹出相同的错误。我正在使用netbeans 7.2。和它有关系吗?
猜你喜欢
  • 2013-09-07
  • 2015-11-22
  • 2016-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-03
  • 1970-01-01
相关资源
最近更新 更多