java - IntellijJ 可以通过 apache taglib 和 EL 在 JSP 中找到用法吗
问题描述
在 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 终极版。
您可以遵循的另一种方法(通过注释抑制字段)
您可以为例如创建注释
@Used
在 JSF 中使用的已声明变量上声明注释
@Used public static final int AML_CHECK_SUBTYPE_VERIPHY = 135;
现在您可以
alt + enter
在您的字段中按并选择Suppress for fields for annotation ...Used
。现在所有被标记的字段@Used
都不会被 IntelliJ 抱怨。
注意:注释过程不取决于您是否使用了变量JSF
。它只是提供了一种关闭检查标记注释的方法。如果您决定删除该字段,JSF
则必须进入Java
课堂并自己删除变量。IntelliJ IDEA 不会抱怨变量未使用
推荐阅读
- c# - 检查表单是否位于其他窗口后面
- objective-c - 在 Objective-C 中添加整数从控制台获取用户输入
- python - 线程相关问题 - Python 3 (Discord bot)
- python - 为什么我的程序停止为大值工作?
- vba - VBA按钮单击有时会起作用
- c# - 在 POST 调用期间防止数据库中的重复条目
- arrays - JQ - 为多个嵌套的 JSON 数组返回一个数组
- sql-server - 令人困惑的 null 比较与 NOT 相结合
- java - 无法将 sql(jpa 查询)返回的列转换为自定义类
- gnu-screen - 有没有办法让哪个会话与屏幕中的哪个日志文件相关联?