2010年12月3日金曜日

groovyとApache ClickでSelectを使用して複数選択リストボックスを表示する

groovyとApache ClickでSelectを使用して複数選択リストボックスを表示するには、以下のコードを実行します。

1.ページクラス
MultiselectTest.groovy
package com.blogspot.groovyarekore.click

import org.apache.click.*
import org.apache.click.control.*

class MultiselectTest extends Page
{
def form = new Form("form")

public MultiselectTest()
{
def sel = new Select("multiselect", "オプション選択")
sel.setMultiple(true)
sel.setSize(3)
sel.add(new Option("opt1", "オプション1"))
sel.add(new Option("opt2", "オプション2"))
sel.add(new Option("opt3", "オプション3"))
form.add(sel);
form.add(new Submit("ok", "OK", this, "onOkClick"));
addControl(form)
}
def onOkClick()
{
def values = ""
for(val in form.getControl("multiselect").getSelectedValues()){
values += (values.length()!=0)?", "+val:val
}
addModel("msg1", "オプションは${values}です")
return true
}
}

2.HTMLページ
multiselect-test.htm
<html>
<head><title>multi select test</title></head>
$headElements
<body>
#if ($msg1)
$msg1<br />
#else
$form<br />
#end
$jsElements
</body>
</html>

ブラウザから以下のURLにアクセスします。
http://localhost:8080/(warの名前)/multiselect-test.htm

出力画面


動作環境
JDK6 Update22, Groovy 1.7.5, Apache Click 2.2.0, Apache Tomcat 7.0.4

関連情報
ビルドの仕方などは「groovyとApache ClickでHello Worldを作成する 」を参照
http://groovyarekore.blogspot.com/2010/11/groovyapache-clickhello-world.html

0 件のコメント:

コメントを投稿