はじめに JSFは始まりの1.0の頃はGUI Editorの使用を前提としていたため、カスタムタグの塊です。また、Editorで扱いやすくするためValidatorとかConvertorも全部テンプレートに埋め込むので、faceletsと出力されるHTMLの間にはかなり乖離がありました。 しかし、それはもう遠い昔のことです。 JSF 2.x、特にJavaEE 7で取り込まれた2.2以降はbootstrapやangularを始めとしたHTML構造に強く制約を与えるテンプレートに、容易に対応できるようHTML5-Friendly Markupを標榜した書き方ができるようになりました。 PrimeFacesが使えるような開発者主導の体制ならともかく、デザイナーがテンプレートを作るような体制の場合、カスタムタグを使っていると、デザイナーの作ったテンプレートをJSFに置き換えるというタンポポ作業がツ