使用facelets(jsf)和xhtml进行Eclipse自动完成(内容辅助)

时间:2010-01-25 22:37:59

标签: java eclipse jsf facelets

如何使用facelets激活JSF(1.2)标签的.xhtml页面中的eclipse(3.5,WTP)内容辅助? 它适用于.jsp文件,但不适用于xhtml。

我谷歌很多,并且在很多地方(包括MyFaces wiki)都有人说 - “Eclipse无法使用xhtml和facelets”

由于这适用于.jsp文件,我假设可能有一些机制可用于激活该内容辅助。

我开始研究一个已经拥有大量代码库的项目,因此无法更改扩展名。其他插件也是不受欢迎的,但如果没有其他工作可以接受的话。

(我问的问题是验证是否有人没有找到这个问题的诙谐解决方法 - 否则我知道这是不可能的)

10 个答案:

答案 0 :(得分:63)

在提出问题后(我开始尝试解决问题一小时后)很快找到解决方案:

Window > Preferences > General > Content Types > Text > JSP > Add (xhtml)

将文件视为jsp文件。因此,当使用JSP编辑器打开它们时,任何具有.tld格式(例如<h:<f)定义的标记库的自动完成都可以正常工作。 Facelets和facelets-only标签仍然无效。他们的.tld等价物应该添加到项目的某个地方。可以找到Facelet的标记here

另一个,更复杂的解决方案被描述为here

答案 1 :(得分:49)

Eclipse Indigo(3.7)中添加* .xhtml作为jsp不起作用。

添加项目构面解决了这个问题:

右键点击该项目 - &gt;偏好 - &gt;项目方面 - &gt;单击“JavaServer Faces”,版本最有可能是2.0。

然后它要求一个库,你可以点击“禁用...”,因为很可能你已经配置了jar。我没有我的图书馆,所以我忽略了那部分。

截图: enter image description here

答案 2 :(得分:7)

使用JBoss Tools,这是我用于JSF + Facelets项目的东西。如果您需要使用这项技术,这是最好的。

http://www.jboss.org/tools

我建议使用CR1的最新候选版本,因为它是与Eclipse 3.5兼容的版本,最终版本应尽快推出,但CR1坚如磐石。

http://in.relation.to/Bloggers/JBossTools31CR1Released

答案 3 :(得分:2)

我安装了JBoss Tools并为我的项目配置了JavaServer Faces facet(在Eclipse Mars中),但仍然没有从我的 .xhtml 文件中获得任何内容帮助。此处未提及的解决方案是选择添加JSF功能

Add JSF Capabilities

只需右键单击该项目,然后选择配置 - &gt; 添加JSF功能

它看起来像上图,但它会说添加JSF功能而不是删除JSF功能。在上图中,我已经添加了JSF功能。

答案 4 :(得分:1)

你有没有想过MyEclipse?它不是免费的,但它是一个非常好的工具。当我使用JSF开发时,它帮助了很多。

答案 5 :(得分:1)

检查是否包含primefaces命名空间!所以你的html标签看起来如下:

<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">

我一直在使用Eclipse Luna和primefaces 5。

答案 6 :(得分:1)

如果没有任何效果,您必须转到偏好设置 - &gt; General-&gt; Keys 然后搜索&#34;内容辅助&#34;如果只有一个内容协助&#34;对于 &#34;当&#34; &#34;编辑Java源代码&#34;存在复制此命令。并将绑定设置为 ctrl + space 以及&#34;编辑JSP源&#34;。

答案 7 :(得分:1)

如果您已经安装了JBoss Tools但仍有此问题,请卸载JBoss工具。重启eclipse。确保您的安装组件列表中没有任何JBoss工具。

现在回到日食市场。

安装:JBoss工具集中的JBoss JSF,JBoss Richfaces和JBoss Visual Page Editor。不要下载超过30多种工具附带的整个软件包。它是一个臃肿的包,会减慢eclipse和不必要的膨胀你的eclipse实例。

使用最新的JSF实现库启用JSF facet。我建议你直接从JSF官方网站下载这个jar。

关闭日食。

打开eclipse并创建一个新工作区。

将项目导回到新工作区。

这对我有用!

答案 8 :(得分:1)

我已经安装了用于JSF编码的JBoss工具。但是在* .XHTML中它没有显示ManagedBean的内容辅助。所以我做了以下为我工作的步骤。

对于我的项目,这个步骤有效。

1)右键点击项目 - &gt;配置 - &gt;添加JSF功能..  Step-by-step procedure (Vailaaa !!!问题解决).. 转到Xhtml文件并尝试编码#{m ^ anagedBeans.HelloJSF()} where(^)这是sysmbol那里你只需要“Ctrl + space”内容辅助就行了。here

答案 9 :(得分:0)

建议:在eclipse Indigo (经典)并使用 maven 项目

如下图所示,无法找到Project Facets建议的@mist选项(因为我没有安装任何插件,但我猜是m2e)。

enter image description here

所以,我这样做是为了解决这个问题:

Window >> Preference >> General >> Content Types >> XML >> Add file association (*.xhtml)

这项工作不太顺利(内容停止)。