我正在检查一个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以重新识别语法?
答案 0 :(得分:4)
似乎是一个长期的Eclipse验证错误:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=352491
截至撰写时(提出此问题2年后),它似乎仍未得到妥善解决。
另见this similar question中的评论。
答案 1 :(得分:0)
不确定此行是否会导致问题,但我怀疑您在双引号中会出现双引号问题(两行有此问题)我将其更改为单引号如下:
来源:
“query.updateQuery”
于:
'query.updateQuery'