Eclipse Ganymede未能正确验证JSP。

7

我刚刚安装了Ganymede,并在其中探索一个旧项目。我的所有JSP都给我奇怪的验证错误。我看到的内容如下 -

Syntax error on token "}", delete this token
Syntax error on token "catch", Identifier expected
Syntax error, insert "Finally" to complete TryStatement

我正在进行最佳实践的工作,没有任何脚本或其他东西,所以我认为Eclipse错误地将Java类验证器应用于我的JSP。有什么办法可以阻止这种情况发生吗?
在“选项/编辑器/文件关联”下,我对JSP具有以下设置:
JSP Editor (default)
Web Page Editor
Text Editor
CSS JSP Editor

我有什么遗漏吗?

此外,我认为这是正确的,但以防万一不是,这是我的页面指令 -

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>

我放弃使用Ganymede,因为我找不到关闭其验证的方法。你看到的错误来自Eclipse从你的JSP生成的Java代码。它可能会因为你的JSP中存在的一个bug而生成错误的代码,但如果它无法识别问题,那还有什么用呢? - erickson
8个回答

5

我通过eclipse webtools用户组发现了我的问题。 对于我来说,问题出在使用Spring表单自定义标签库上。 如果您自闭合标记...

<form:errors path="*" />

如果您关闭标签,就好像有正文内容一样,那么您将会得到令人困惑的JSP验证错误。
<form:errors path="*"></form:errors>

然后错误就消失了。我需要跟进一个Ganymede团队的漏洞。


4

实际上,这与编辑器本身无关。

通常是由以下原因导致:
A) 自定义标签缺少起始或结束标记,导致翻译不平衡
或者
B) JSP验证器对自定义标签的脚本变量处理不当导致的结果。

一个是JSP文件的错误,另一个是验证器的错误。在即将发布的WTP 3.0.3和Ganymede SR2版本中,两个问题都不会导致这个问题。


3

我刚刚运行了一个更新,更新的是软件更新->Gynemede更新站->"Web和Java EE开发",错误似乎已经消失了。


还有很多工作要做:https://bugs.eclipse.org/bugs/buglist.cgi?quicksearch=jsp - BalusC

3

我刚刚下载了Ganymede 3.4.2,并添加了WTP 3.0.4,这个错误已经解决了。


2

在首选项->编辑器->文件关联中,您可以查看与.jsp文件相关联的编辑器。也许它与错误的编辑器关联,并进行内容检查。 您可以在Web工具平台(WTP)工具包中找到一个相当不错的JSP编辑器。


1

很不幸,这是一个已知的错误,显然是在Ganymede的Service Release 1(Eclipse Ganymede SR1,v 3.4.1)中引入的。

请参阅以下页面以获取更多信息:

http://www.coderanch.com/t/106846/IDEs-Version-Control-other-tools/Ganymede-bug-using-jsp-include

http://www.eclipse.org/newsportal/article.php?id=17447&group=eclipse.webtools#17447

这个错误已经在 WTP 3.0.3 中修复了。请注意,在通过 Eclipse 的“软件更新”功能获取修复程序时,您需要手动将 WTP 更新站点添加到搜索更新期间的站点列表中,方法是使用“管理站点…”功能并勾选“Eclipse Webtools”站点。


1
哼,我升级到了3.0.3,但没有效果。这主要发生在<%@ include file="somefile.jsp" %> -风格的包含中。非常令人沮丧-- 当我有300多个这样的时候,很难找到真正的错误 。有人成功地回到WTP的早期版本吗?

1

我有同样的问题。Ganymede中的任何JSP编辑器都不喜欢我的if/else脚本:

<%  if(message != null) { %>
    <p id="message"><%=message %></p>
<%  } else { %>
    <p>Please login to view your account information.</p>
<%  } %>

它告诉我:

Syntax error on token "}", delete this token
Syntax error on token "catch", Identifier expected
Syntax error, insert "Finally" to complete TryStatement

......在最终的闭括号上方添加新行。我与原帖发布者具有相同的文件关联性。 我想我会尝试在WTP工具包中找到另一个JSP编辑器,但我以为它应该随我的构建一起提供。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接