-Sun-RIの実装

Sunによる(java.netによる?)JSR252のRIを見つけたので見てみました。描画方法はかなり変わっていて。。。JSP描画のステージでは、encodeBeginおよびencodeChildren、encodeEndによる出力をしません。また、非JSP出力はBodyContentに全部キャッシュして、JSFコンポーネントツリーに取り込んでおきます。そして、ViewHandler#renderView()のJSP描画の後において書き出しを行います。その際、UIViewRootの前はすでに出力してますし、UIViewRootの後は、レスポンスをいじってRequestスコープにバッファ保存されているので、それを出力します。Mayaではやり方がまったく違うのですが、ボディの使い方等、参考にはなりました。
見たところはViewHandlerの実装と、UIComponentTagの実装周辺。UIComponentTagはAPIですから、MyFacesなどの3rdパーティ実装も自ずから同じやり方になるでしょう。MayaFacesもその3rdパーティ実装の一種なのですが、UIComponentTagは一切用いてないので影響はうけません。