我正在开发一个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文件中声明有点烦人。
答案 0 :(得分:0)
我找到了一种方法。我只需要使用FacesComponent注释的属性。
@FacesComponent(createTag = true, namespace = "http://myNamespace", tagName = "myComponent", value = "myComponent")
然而,IDE(至少是Netbeans)将无法自动完成组件属性,这是一个巨大的缺点。 我不介意是否有@ComponentAttribute注释或类似的东西。
我最终选择继续使用taglib文件。