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

时间:2018-07-16 10:01:54

标签: java jsp intellij-idea el taglib

在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

1 个答案:

答案 0 :(得分: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类,并自行删除该变量。 IntelliJ IDEA不会抱怨该变量未被使用