EL 提议/自动完成/代码辅助 Facelets 与 Eclipse

Posted

技术标签:

【中文标题】EL 提议/自动完成/代码辅助 Facelets 与 Eclipse【英文标题】:EL proposals / autocomplete / code assist in Facelets with Eclipse 【发布时间】:2011-09-10 16:48:23 【问题描述】:

我尝试在 Facelets 页面中激活 EL 提议,但是当我按下 Ctrl+Space 时,它​​不起作用。由于其他问题,我设法激活了 JSF 标签提案,但 EL 提案不起作用。

如何在 Eclipse 中激活此功能?这是一个已知问题吗?

例如:

<h:inputHidden id="id" value="#Ctrl+Space not working!"/>

【问题讨论】:

Facelets (Xhtml) 是 JSP 的继承者。我相信您说的是 EL 提案而不是 JSP 提案,对吗?我已经修正了术语。 一个类似的问题贴在这里:***.com/questions/2136218/… 这里,标签自动补全:***.com/questions/6204807/… 感谢指正!事实上,我说的是小脸!我试过了,效果很好。我注意到自动补全不适用于 facesContext.ctrl+space。不知道有没有可能? 如果您对 Spring bean 的自动完成感兴趣,请参阅:***.com/questions/48933757/… 【参考方案1】:

Eclipse 不支持此功能。甚至对 JSP 的支持也非常有限。只有&lt;jsp:useBean&gt; 的属性和在faces-config.xml 中硬编码为&lt;managed-bean&gt; 的托管bean 可通过自动完成获得。但是,有一些插件支持 @ManagedBean@Named bean 上的 EL 自动完成。

例如,JBoss Tools plugin(特别是 CDI 功能)可以按照此处所述进行安装:How do I Install JBoss AS / WildFly Server in Eclipse for Java EE。

(在其当前的 3.2.0 版本中存在 unicode 错误,如您在上面最右边的窗口中所见)

您甚至可以在 Facelets 文件中的 EL 表达式中使用 Ctrl+单击托管 bean 名称 #bean 来导航到具体的支持 bean 类。您还可以在支持 bean 类中的托管 bean 方法上使用 Ctrl+Shift+G 来查找对 Facelets 文件中特定属性或操作的所有引用。

Aptana plugin 被告知对于 JSP 中的 EL 提议可以正常工作,但我不确定 Facelets。几年前我在为 JSP 安装和配置插件方面没有很好的经验。

另见:

Properties of new tags using composite component are not displayed by Eclipse auto complete shortcurt

【讨论】:

是的。在 Indigo 3.4.0 中,JBOSS 工具插件也可以使用 @ 注释。谢谢 Balusc JBOSS 工具插件在 eclipse Kepler 中运行非常缓慢 您只需选择 CDI 功能。其余的都是无关紧要的,而且确实很麻烦。

以上是关于EL 提议/自动完成/代码辅助 Facelets 与 Eclipse的主要内容,如果未能解决你的问题,请参考以下文章

将 EL 方法表达式作为自定义 Facelets 标记文件的属性传递

将 EL 方法表达式作为自定义 Facelets 标记文件的属性传递

Facelets

如何将 Facelets 支持添加到 Spring Tool Suite?

如何阻止 EL 表达式在未呈现的 JSF 组件中进行评估?

Facelets:如何将 ui:insert 值作为 html 属性传递?