我檢查一個JAVA項目的代碼庫,而且我發現Eclipse中顯示錯誤在下面幾行:Eclipse的報告語法錯誤在JSP文件中,但應用程序的工作
<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會被更新以重新識別語法嗎?
這也可能是一個問題(我解決了這個問題),但是目前Eclipse在以下地方顯示錯誤:querySearch.project.isPublic()。如果我刪除括號,則錯誤消失。我的問題是,如果在那個地方允許方法調用? –