JSF (facelets) завершение кода IDE - PullRequest
4 голосов
/ 17 ноября 2010

Я попытался создать новый компонент Facelets (JSF 1.2) (используя код Java). Компонент работает отлично, но проблема в том, что у меня нет завершения кода для атрибутов в моей IDE (Netbeans 6.9.1) для тега ihis. Я думаю, что мне не хватает какой-то части конфигурации (в простом 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>

Мой taglib (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}" />

Атрибут root является рыночным для IDE как неизвестный (выделен красным) с сообщением об ошибке: «Корень атрибута не определен в интерфейсе компонента»

Спасибо за вашу помощь.

1 Ответ

2 голосов
/ 16 января 2011

В данный момент, похоже, нет простого решения для этого.Кажется, что все основные наборы компонентов делают это «просто», предоставляя старый файл .tld в дополнение к taglib.xml.

SeamFaces предлагает объявить эти свойства тегов непосредственно в компоненте черезаннотаций.См. http://seamframework.org/Seam3/FacesModule.. Сейчас это никому не поможет, но если вы заинтересованы в этой функции, вы можете выразить свой интерес к ней на их форумах.

...