我们构建了一个自定义标记库,它(通过标记 TEI 类)声明了一个新变量,该变量在脚本级别和 JSTLS 级别都可见。Eclipse 正确地完成了对象 whitin scriptlets,但在 JSTL 中无法识别它。我们是否缺少 Eclipse 中的一些配置?它可能是 taglib 的 TLD 内的东西吗?
这是一个例子:
<w:helper name="myBean" class="com.customer.Example"/>
<%
myBean.method(); //here the completion works, both invoking ctrl+space on "myB" and "myBean."
%>
${myBean.field} // here no completion at all
我希望 Eclipse 能够在两条线上完成。
有什么帮助吗?
添加信息:
TLD 为 DTD 声明 jspversion 1.1 DTD 声明是http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd
编辑 2016-10-21:
- 我们正在使用 Eclipse Mars。
- 我们已经使用 DTD 2 测试了 TLD 版本 2.0,但没有成功。
- 我们还跟踪到 Eclipse 无法完成任何JSP-EL 变量的问题。以下示例不提供补全。
<c:set var="test">hello</c:set>
${te // here ctrl+space will NOT proposte "test"
<c:set var="second" value="${te}"/> // here too not working