groovy 手習い groovlet getでもらった値をテーブルで表示 2007/08/08

シナリオ

groovletを使ってGETの値を表示してください。


ソースはUTF-8で書いて、あとURLエンコードは、sjisからの変換を想定しています。

import java.net.URLDecoder;
import groovy.xml.*

response.setContentType('text/html;charset=utf-8');

def s = request.getQueryString().split('&');
def decoder = URLDecoder;

def writer = new StringWriter();
def builder = new MarkupBuilder(writer);

builder.table(border:1){
caption('パラメーター表示します。')
tr{ th('キー'); th(colspan:3, '値')
s.each{ s2 ->
tr{
s2.split('=').each{
s3 -> td(decoder.decode(s3, 'sjis'))
}
}
}
}
}

println """
<html>
<head>
<title>日本語utf-8</title>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=utf-8">
</head>
<body>
${ writer }
</body>
</html>
"""


groovyおもしろいなぁ。

: