Eclipse 报告 JSP 文件中的语法错误,但应用程序可以运行

Rau*_*ets 3 java eclipse jsp el

我正在检查一个 JAVA 项目的代码库,我发现 Eclipse 在以下几行显示错误:

<c:if test="${not empty queryClauses && ((activeRole eq 'ROLE_ADMIN' && querySearch.project.isPublic()) or (not querySearch.project.isPublic()))}">
    <div class="control-btns">
        <input class="btn btn-primary" type="button" id="updateQuery" value="<spring:message code="query.updateQuery" />"/>
        <input class="btn btn-primary" type="button" id="deleteQuery" value="<spring:message code="query.deleteQuery" />"/>
    </div>
</c:if>
Run Code Online (Sandbox Code Playgroud)

错误显示在以下位置:

querySearch.project.isPublic()
Run Code Online (Sandbox Code Playgroud)

错误是:

Multiple annotations found at this line:
    - EL Syntax Error 
    - Encountered " "(" "( "" at line 1, 
     column 87. 
Was expecting one of: 
    "." ... 
    ">" ... 
    "gt" ... 
    "<" ... 
    ...
Run Code Online (Sandbox Code Playgroud)

这是一个同事写的,他已经离开公司了,所以我不能问他这件事。他保证没问题,但看到 Java 项目中出现错误,我感到很难过。

通过搜索,我发现了以下评论:/sf/answers/1289235041/

AFAIR,最新版本的 JSP EL 允许调用方法,但您的 IDE 可能已经过时并且不希望如此。Eclipse 以发出根本不是错误的信号错误而闻名。信任您的应用服务器。

这是同样的原因吗?是否有解决方法(通过更改项目代码或 Eclipse 设置)?Eclipse 会更新以识别语法吗?

Ste*_*ers 5

似乎是一个长期存在的 Eclipse 验证错误:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=352491

截至撰写本文时(提出这个问题两年后),它似乎仍然没有得到正确修复。

另请参阅此类似问题中的评论。

  • 8年过去了,这仍然是一个问题。这就是我们使用 c̶r̶a̶p̶ 免费 IDE 得到的结果。 (3认同)