2010-11-17 126 views
4

我試圖創建新的Facelets(JSF 1.2)組件(使用Java代碼)。該組件完美工作,但問題是,我的IDE(Netbeans 6.9.1)中的屬性沒有代碼完成,不支持ihis標記。我認爲,我很想念配置的某些部分(在普通的JSF有對屬性的標籤,但我還沒有發現他們在小面配置)....JSF(facelets)IDE代碼完成


組件:

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> 

我的標籤庫(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> 

網站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}" /> 

屬性根源是市場由IDE不知道(紅色uderscored)錯誤信息:「屬性根未在組件界面中定義「

感謝您的幫助。

回答

2

目前似乎還沒有一個簡單的解決方案。所有主要組件集似乎都是這樣做的,只不過是提供一箇舊的.tld文件以及taglib.xml文件。

SeamFaces有一個建議,通過註釋直接在組件上聲明這些標籤屬性。請參閱http://seamframework.org/Seam3/FacesModule。這對現在不會有任何幫助,但如果您對此功能感興趣,您可以在論壇上表達您的興趣。