如何摆脱 Eclipse 中神秘的 JSP 问题

问题描述 投票:0回答:1

我在项目中的数十个

*.jsp
文件之一中存在以下错误:

Eclipse 问题视图

文本编辑器中的

第 0 行有点有趣,但是好吧,我们开发人员经常从那里开始计数。这是否指的是右上角的小红色方块(顺便说一句,悬停时显示“错误:8”)?

SonarLint 报告视图

115路

                <tr>
                  <td>Status</td>
                  <td>
                    <select name="oid_status">
<!-- Warning here --> <c:forEach 
<!-- This is L115 -->   items='${
                          [
                            ["0",        "---Bitte wählen---"],
                            ["active",   "aktiv"], 
                            ["assigned", "zugewiesen"], 
                            ["retired",  "zurückgestellt"], 
                            ["invalid",  "ungültig"]
                          ] 
                        }' 
                        var="option"
                      >
                        <option 
                          value="${option[0]}" 
                          ${searchCriteria.status() eq option[0] ? "selected" : ""}
                        >${option[1]}</option>
                      </c:forEach>
                    </select>
                  </td>
                </tr>

161路

                <tr>
                  <td>Kategorie</td>
                  <td>
                    <select name="oid_category">
 <!-- Warning here --><c:forEach 
 <!-- This is L161 -->  items='${
                          [
                            ["0",        "---Bitte wählen---"],
                            ["alias", "Alias (alias)"],
                            ["other", "Andere (other)"],
                            ["document", "Dokument (document)"],
                            ["experimental", "Experimentell (experimental)"],
                            ["external", "Extern (external)"],
                            ["identificationscheme", "Identifikationsschema (identificationscheme)"],
                            ["instance-identifier", "Instanz Identifikator (instance-identifier)"],
                            ["codingscheme", "Kodierschema (codingscheme)"],
                            ["organization", "Organization (organization)"],
                            ["person", "Person (person)"],
                            ["policy", "Richtlinie (policy)"],
                            ["service", "Service (service)"], 
                            ["template", "Vorlage (template)"],
                            ["valueset", "Value Set (valueset)"]
                          ] 
                        }' 
                        var="option"
                      >
                        <option 
                          value="${option[0]}" 
                          ${searchCriteria.category() eq option[0] ? "selected" : "" }
                        >${option[1]}</option>
                      </c:forEach>
                    </select>
                  </td>
                </tr>

至少它始终是错误的。这些是文件中唯一的此类构造。

我更新了(Maven)项目数十次。我清理了项目(使用 EclipseProjectClean...

mvn clean
)。我在 Eclipse 启动时编辑了工作区。我什至创建了一个新的工作区,放弃了旧的工作区并重新导入了所有项目。自从发生这种情况以来,我还执行了一些 Eclipse 更新。一切都无济于事。我有一个同事对JSP的了解比我多,但连他自己也不知道。是的,每个(Maven)构建都会成功,并且 Web 应用程序运行没有问题(除了常见的开发或环境问题)。
    

eclipse jsp compiler-errors
1个回答
0
投票

-clean

这已经是错误的,因为你不能在 JSP 标签中使用注释。

然后对于

<c:forEach <!-- This is L161 --> items='${

属性,预期是可迭代对象,但是在 JSP 表达式中找到了

items
对于某些语言(如 OGNL),JSP 编辑器有时无法验证语法。这不仅是 Eclipse 编辑器,IntelliJ IDEA 也会失败,因为无法正确验证 JSP 编辑器的未知语言。在运行时不会发生错误,因为总是关闭 JSP 语法检查器。

© www.soinside.com 2019 - 2024. All rights reserved.