JSF構成 - <component>要素

カスタム・コンポーネント・タイプの実装クラスを宣言します。これは、javax.faces.component.UIComponentインタフェースを実装する具体的なクラスである必要があります。

この要素には、汎用の構成メタデータ要素を子要素として含めることができます。

構文

<component>
  [<description/>]*
  [<display-name/>]*
  [<icon/>]*
   <component-type>comType</component-type>
   <component-class>comClass</component-class>
  [<facet> 
    [<description/>]* 
    [<display-name/>]* 
    [<icon/>]* 
    <facet-name>facetName</facet-name> 
    [<facet-extension>facetextension</facet-extension>]* 
  </facet>]*
  [<attribute/>]*
  [<property/>]*
  [<component-extension>extension</component-extension>]
</component>    

子要素

<component-type>
使用方法: コンポーネントを一意に識別します。これによって、クラス名ではなくIDを使用してコンポーネントにアクセスできます。
値: コンポーネントの一意の識別子。これはWebアプリケーション全体で一意である必要があります。
例: 識別子に構文prefix.componentClassを使用すると便利です。
prefix
パッケージ名の部分を表します。
componentClass
コンポーネントのJavaクラスを表します。
たとえば、コンポーネント・クラスcom.jsf.components.SliderのIDをcom.component.Sliderに指定できます。
<component-class>
使用方法: コンポーネントの実装クラスを宣言します。
値: javax.faces.component.UIComponentを実装する完全修飾Javaクラス。
<facet>
使用方法: コンポーネント内に格納するファセットを宣言します。詳細は、「facet要素」の項を参照してください。
値: ファセット名。
<component-extension>
使用方法: 宣言されたコンポーネントに適用する実装固有の要素を格納します。
値: XML要素。

次の例では、カスタム・スライダ・コンポーネントを宣言します。

<component>
  <component-type>com.component.Slider</component-type>
  <component-class>com.jsf.components.Slider</component-class>
</component>    

<description>要素
<display-name>要素
<icon>要素
<attribute>要素
<property>要素
リファレンス: JSF構成要素