繁体   English   中英

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

[英]Eclipse autocomplete (content assist) with facelets (jsf) and xhtml

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

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

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

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

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

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

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

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

另外, 这里描述一个更复杂的解决方案。

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

添加项目构面解决了以下问题:

右键单击项目 - > Preferences - > Project Facets - >单击“JavaServer Faces”,版本最有可能是2.0。

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

截图: 在此输入图像描述

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

http://www.jboss.org/tools

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

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

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

添加JSF功能

只需右键单击该项目,然后选择Configure - > Add JSF Capabilities

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

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

检查是否包含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。

如果没有任何效果,您必须转到首选项 - >常规 - >键然后搜索“内容辅助”,如果只有一个“内容辅助”用于“何时”“编辑Java源”,则复制此命令。 并在“编辑JSP源”时将绑定设置为ctrl + space

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

现在回到日食市场。

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

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

关闭日食。

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

将项目导回到新工作区。

这对我有用!

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

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

1)右键单击项目 - >配置 - >添加JSF功能。 逐步程序 (Vailaaa !!! Problem Solve)..转到Xhtml文件并尝试编码#{m ^ anagedBeans.HelloJSF( )} where(^)这是sysmbol那里你只需要“Ctrl + space”内容辅助就行了。 这里

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

你可以看到波纹管的图片,找不到Project Facets选择是@mist建议(因为上午没有安装任何插件,但m2e我猜)。

在此输入图像描述

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM