GroovletとMarkupBuilder
Groovletを動かしてみる。なんとなく使ってみたくなった。
Groovy - Java用スクリプト言語の例ではHTML自体が文字列でその中に変数埋め込んでいるけど、条件分岐やループを使ってページを生成するにはMarkupBuilderを使うことになると思う。生きてまをみてMarkupBuilderのコンストラクタにWriterを渡せることに気づいたので暗黙変数のoutをわたす。
import groovy.xml.MarkupBuilder map = [1:"one",2:"two",3:"three"] html = new MarkupBuilder(out).html() { head() { title("Groovlet and MarkupBuilder") } body() { p("Number Mapping Display") table(border:1) { for (e in map) { tr() { td(e.key); td(e.value) //;を使って横に書く } } } } }
結果
Number Mapping Display
1 | one |
2 | two |
3 | three |
- 感想など
- 設定はweb.xmlを編集するだけなのですぐ使える。
- 日本語を表示したかったけどどうするのだろう?HttpServletResponse#setContentType()つかえないし。
- eachとかtimesをつかったループが使えなかった。for文は問題ない。
- タグのBodyと属性の両方指定することはできない?
ひとつのタグで1行じゃなきゃいけないのか?td()など横にいくつも書けたらいいのに。でないと見にくい。横に書ける。;が使える忘れてた。- 使い勝手はいまいち?
「Groovlet」でぐぐってみると日本語のページは3件だけ。自分の日記もふくまれちゃってる。