从自定义组件自动生成taglib

时间:2015-03-30 00:29:46

标签: jsf custom-component

我正在开发一个JSF组件库,我正在编写我的组件,就像它在Java EE 7 Tutorial中教授的那样。

@FacesComponent("DemoMap")
public class MapComponent extends UICommand {
    enum PropertyKeys {
        alt, coords, shape, targetImage;
    }
    public String getAlt() {
        return (String) getStateHelper().eval(PropertyKeys.alt, null);
    }
    public void setAlt(String alt) {
        getStateHelper().put(PropertyKeys.alt, alt);
    }
}

我想知道是否有任何方法可以自动生成自定义组件taglib(或至少是属性部分)。

我觉得在组件类中声明属性然后再在taglib文件中声明有点烦人。

1 个答案:

答案 0 :(得分:0)

我找到了一种方法。我只需要使用FacesComponent注释的属性。

@FacesComponent(createTag = true, namespace = "http://myNamespace", tagName = "myComponent", value = "myComponent")

然而,IDE(至少是Netbeans)将无法自动完成组件属性,这是一个巨大的缺点。 我不介意是否有@ComponentAttribute注释或类似的东西。

我最终选择继续使用taglib文件。