インジェクションされるタグを知る方法
S2JSFでは、HTMLのタグにJSFのタグが自動的に割り当てられますが、どのタグがあり当てられるのかを知るには、NekoHTMLのSAX Parser機能を使って次のようにします。
NekoHTMLでなくても、HTMLをSAXで処理できるものなら大丈夫です。
tagProcessorTreeFactoryはあらかじめ、次のようにして取得しておきます。
public void startElement(String namespaceURI, String localName,
String qName, Attributes attributes) {TagSelector selector = tagProcessorTreeFactory.getTagSelector(
namespaceURI, localName, qName, attributes);
String inject = selector.getInject();
if (inject != null) {
//h:textInputなどの情報が出力される
System.out.println(inject);
} else {
inject = attributes.getValue(
"http://www.seasar.org/maya", "inject");
if (inject != null) {
//m:injectで指定された値が出力される
System.out.println(inject);
} else {
//通常のHTMLのタグ
}
}
}
tagProcessorTreeFactory = (TagProcessorTreeFactory)
container.getComponent(
TagProcessorTreeFactory.class);