Eclipse Ganymede无法正确验证JSP
我刚刚安装了Ganymede,并且正在其中探索一个旧项目。我所有的JSP都给我奇怪的验证错误。我看到的是-
Syntax error on token "}", delete this token Syntax error on token "catch", Identifier expected Syntax error, insert "Finally" to complete TryStatement
我在这里做的是最佳实践的东西,没有scriplets或者其他任何东西,所以我认为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"%>
解决方案
在首选项->编辑器->文件关联下,我们可以查看哪些编辑器与.jsp文件关联。可能是由于错误的编辑器和内容检查造成的。
我们可以在Web工具平台(WTP)工具箱中找到一个相当不错的JSP编辑器。
实际上,这与编辑器本身无关。
这通常是由于
A)缺少开始或者结束标签的自定义标签会导致翻译不平衡
或者
B)是JSP验证程序对自定义标签的脚本变量处理不当的结果。
一个是JSP文件中的错误,另一个是验证器中的错误。在即将发布的WTP 3.0.3和Ganymede SR2版本中,都不会导致此问题。
我有同样的问题。 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编辑器,但是我对构建产生的印象很深。
实际上,我是通过Eclipse Webtools用户组发现问题所在。对我来说,问题是使用Spring表单自定义标签库。如果我们自动关闭标签...
<form:errors path="*" />
...然后我们会得到愚蠢的JSP验证错误。如果我们关闭标签,就好像里面有内容...
<form:errors path="*"></form:errors>
然后错误消失了。我需要跟踪Ganymede团队的错误。
不幸的是,这显然是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更新站点添加到更新期间要搜索的站点列表中。 Webtools网站。
嗯,我升级到3.0.3,没有任何效果。这主要发生在<%@ include file =" somefile.jsp"%> -style includes的情况下。令人难以置信的令人沮丧-当我有300多个错误时,很难找到真正的错误。有人有幸回到WTP的早期版本吗?
我刚刚下载了Ganymede 3.4.2,并向其中添加了WTP 3.0.4,这个错误对我来说已经消失了。
我刚刚为软件更新-> Gynemede更新站点->" Web and Java EE Development"运行了一个更新,该错误似乎消失了。