从自定义组件自动生成taglib



我正在开发一个JSF组件库,我正在用Java EE 7教程中教的方法编写我的组件。

@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文件中再次声明属性有点烦人。

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

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

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

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

最新更新