JSF (Facelets) IDE 代码补全

4

我尝试创建一个新的Facelets(JSF 1.2)组件(使用Java代码)。该组件可以完美地工作,但问题是,我的IDE(Netbeans 6.9.1)对于该标签中的属性没有代码补全。我认为我缺少某些配置部分(在普通的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>

Web 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会将属性root标记为未知(红色下划线),并显示错误消息:“在组件接口中未定义属性root”。

感谢您的帮助。

1个回答

2
目前似乎没有简单的解决办法。所有主要组件集似乎都是通过在taglib.xml文件中附加旧的.tld文件来完成的。
SeamFaces提出了一个通过注释直接在组件上声明这些标记属性的建议。请参见http://seamframework.org/Seam3/FacesModule。这不能立即帮助任何人,但如果您对此功能感兴趣,可以在他们的论坛上表达您的兴趣。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接