我尝试创建新的 Facelets (JSF 1.2) 组件(使用 Java 代码)。该组件运行良好,但问题是,我的 IDE (Netbeans 6.9.1) 中没有针对 ihis 标记的属性代码完成。我认为,我缺少配置的某些部分(在普通的 JSF 中有属性标签,但我没有在 facelets 配置中找到它们)...
组件:
public class MenuUIComponent extends UIComponentBase {
public void encodeBegin(FacesContext context) throws IOException {
// ...
}
}
人脸配置:
<component>
<component-type>flexibla2.menu</component-type>
<component-class>cz.flexibla2.client.component.MenuUIComponent</component-class>
</component>
我的标签库(flexibla2.taglib.xml)
<facelet-taglib>
<namespace>http://flexibla2/taglib</namespace>
<tag>
<tag-name>menu</tag-name>
<component>
<component-type>flexibla2.menu</component-type>
</component>
</tag>
</facelet-taglib>
网页XML
<context-param>
<param-name>facelets.LIBRARIES</param-name>
<param-value>/WEB-INF/flexibla2.taglib.xml</param-value>
</context-param>
当我尝试调用我的组件时
<flexibla2:menu root="#{clientPageBean.rootCategory}" />
属性根由 IDE 标记为未知(红色标记),错误消息为:“属性根未在组件的接口(interface)中定义”
感谢您的帮助。
最佳答案
目前似乎没有一个简单的解决方案。所有主要组件集似乎都采用的方式是“简单地”在 taglib.xml 文件之外提供一个旧的 .tld 文件。
SeamFaces 提议通过注释直接在组件上声明这些标记属性。参见 http://seamframework.org/Seam3/FacesModule .这现在对任何人都没有帮助,但如果您对此功能感兴趣,可以在他们的论坛上表达您的兴趣。
关于java - JSF (facelets) IDE 代码完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4202883/