2015-03-30 5 views
0

Я разрабатываю библиотеку компонентов JSF, и я пишу свои компоненты так же, как это описано в Java EE 7 Tutorial.Создать taglib автоматически из пользовательского компонента

@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

Я нашел способ сделать это. Мне просто нужно использовать свойства аннотации FacesComponent.

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

Однако IDE (по крайней мере, Netbeans) не будет иметь возможности автозаполнения составных свойств, что является огромным недостатком. Я бы не возражал, если была аннотация @ComponentAttribute или что-то в этом роде.

В итоге я решил использовать файл taglib.