独自コンポーネントあれこれメモ

まず以下の3つを1セットとして作る必要がある。

  • UIComponentクラス
  • Rendererクラス
  • タグクラス 注)javax.faces.webapp.UIComponentTagを継承して作る。

必要な設定ファイル

  • faces-config.xml
  • .tldファイル

注意点?
↓のようなfaces-config.xmlを書いた場合、タグクラスのgetComponentType(),getRendererType()とUIComponentクラスのgetFamily()の戻り値はfaces-config.xmlの対応する要素と合致しなければならない。

<faces-config>
	<component>
		<component-type>AAA</component-type>
		<component-class>UIComponentクラス名</component-class>
	</component>
	<render-kit>
		<renderer>
	    	<component-family>AAAFamily</component-family>
			<renderer-type>AAARenderer</renderer-type>
			<renderer-class>Rendererクラス名</renderer-class>
		</renderer>
	</render-kit>
</faces-config>