大きく分けて、Mixer2には次のような側面があります。
- JSPやVelocityに代わる技術としてのMixer2
- XHTMLパーサーとしてのMixer2
- XHTMLタグスニペット生成器としてのMixer2
Mixer2は、XHTMLをパース - loadHtmlTemplate() - する場合には フルHTML、つまり<html>...</html>までのHTML全体を与える必要があります。
しかしXHTMLタグを出力 - saveToString() - する場合には 任意のタグのみをString化することが可能です。 この特徴をうまく使えば、JSPのカスタムタグのようなものを 簡単なJavaコーディングのみで作ることができます。
たとえば、ベースとしてJSPを使いつつもMixer2を活用したい場合、下の図のような使い方が可能です。
タグを新規に作る場合は目的のタグ型クラスを new すればよいのですが、 TagCreatorクラスでも可能です。 TagCreatorのほうがeclipse等のIDE上でコード補完が効くので便利です。
Div div = TagCreator.div(); Span span = TagCreator.span(); span.getContent().add("Hello World !"); span.setStyle("color:red;"); div.getContent().add(span); String result = mixer2Engine.saveToString(div); System.out.println(result);output:
table タグを作る場合にはTableBuilderクラスが便利です。Hello World !
String[][] data = new String[][]{ // id, name, price {"1", "cookie", "2.50"}, {"2", "candy", "3.75"} }; TableBuilder tBuilder = new TableBuilder(); for (String[] row : data) { tBuilder .addTr() .addTd(row[0]) .addTd(row[1]) .addTd(row[2]); } Table table = tBuilder.build(); String str = mixer2Engine.saveToString(table); System.out.println(str);output:
1 | cookie | 2.50 |
2 | candy | 3.75 |
いかがでしたか? できあがったタグオブジェクトをstring化したあとなら jspやvelocityに埋め込むこともできます。 Mixer2と他のテンプレートエンジンの共存は十分に可能です。 ぜひ組み合わせ技も考えてみてください。
No comments:
Post a Comment