IntellijJ 可以通过 apache taglib 和 EL 在 JSP 中找到用法吗

Can IntellijJ find usages in JSP via apache taglib and EL

在init.jsp

<%@ taglib uri="http://jakarta.apache.org/taglibs/unstandard-1.0" prefix="un" %>

在JSP

<%@ include file="/html/init.jsp"%>
<un:useConstants var="ImageType" className="com.mydomain.model.ImageType" />

<select id="amlCheckType" name="amlCheckType">
    <option value="">Please choose one...</option>
    <option value="${ImageType.AML_CHECK_SUBTYPE_VERIPHY}">Veriphy</option>
    <option value="${ImageType.AML_CHECK_SUBTYPE_EQUIFAX}">Equifax</option>
</select>

在ImageType.java

public static final int AML_CHECK_SUBTYPE_VERIPHY = 135;
public static final int AML_CHECK_SUBTYPE_EQUIFAX = 136;

IntelliJ 已将后两个变灰并表示从未使用过。

IntelliJ 是否可以识别这些用法,以免被误删除?

或者是否有更好的方法在 JSP 中引用 java 常量,以便识别它们?

更新

版本 = 社区 2018.1

IntelliJ IDEA 社区版不支持。您可以在 IntelliJ IDEA 终极版中找到此功能。它具有 Web 开发的全部功能,包括在 JSP/JSF 页面中识别 java 变量。所以我建议使用 IntelliJ IDEA 终极版。

您可以遵循的另一种方法(通过注释抑制字段)

  1. 您可以为 @Used

  2. 创建注释
  3. 在已在 JSF 中使用的已声明变量上声明注释

    @Used
    public static final int AML_CHECK_SUBTYPE_VERIPHY = 135;
    
  4. 现在您可以在您的字段中按 alt + enter 并选择 Suppress for fields for annotation ...Used。现在所有被标记为 @Used 的字段都不会被 IntelliJ 抱怨。

注意: 注释过程并不取决于您是否使用了 JSF 中的变量。它只是提供了一种关闭标记注释检查的方法。如果您决定从 JSF 中删除该字段,您必须进入 Java class 并自行删除变量。 IntelliJ IDEA 不会抱怨变量未被使用