Eclipse报告JSP文件中的语法错误,但应用程序有效

时间:2014-01-16 11:31:41

标签: 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>

错误显示在以下位置:

querySearch.project.isPublic()

错误是:

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

这是由一位离开公司的同事写的,所以我不能问他这件事。他保证这没关系,但我对看到Java项目中的错误感到很难过。

从搜索中我发现了以下评论:https://stackoverflow.com/a/18417643/508654

  

AFAIR,最新版本的JSP EL允许调用方法,但是   您的IDE可能已过时且不期望它。 Eclipse是   众所周知的信号错误根本不是错误。信任   你的应用服务器。

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

2 个答案:

答案 0 :(得分:4)

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

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

截至撰写时(提出此问题2年后),它似乎仍未得到妥善解决。

另见this similar question中的评论。

答案 1 :(得分:0)

不确定此行是否会导致问题,但我怀疑您在双引号中会出现双引号问题(两行有此问题)我将其更改为单引号如下:

来源:
“query.updateQuery”
于:
'query.updateQuery'