我在项目中的数十个
*.jsp
文件之一中存在以下错误:
第 0 行有点有趣,但是好吧,我们开发人员经常从那里开始计数。这是否指的是右上角的小红色方块(顺便说一句,悬停时显示“错误:8”)?
<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>
<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)项目数十次。我清理了项目(使用 Eclipse ➔ Project ➔ Clean... 和
mvn clean
)。我在 Eclipse 启动时编辑了工作区。我什至创建了一个新的工作区,放弃了旧的工作区并重新导入了所有项目。自从发生这种情况以来,我还执行了一些 Eclipse 更新。一切都无济于事。我有一个同事对JSP的了解比我多,但连他自己也不知道。是的,每个(Maven)构建都会成功,并且 Web 应用程序运行没有问题(除了常见的开发或环境问题)。-clean
这已经是错误的,因为你不能在 JSP 标签中使用注释。
然后对于
<c:forEach
<!-- This is L161 --> items='${
属性,预期是可迭代对象,但是在 JSP 表达式中找到了
items
。对于某些语言(如 OGNL),JSP 编辑器有时无法验证语法。这不仅是 Eclipse 编辑器,IntelliJ IDEA 也会失败,因为无法正确验证 JSP 编辑器的未知语言。在运行时不会发生错误,因为总是关闭 JSP 语法检查器。