1.ページクラス
PicklistTest.groovy
package com.blogspot.groovyarekore.click
import org.apache.click.*
import org.apache.click.control.*
import org.apache.click.dataprovider.*
import org.apache.click.extras.control.*
class PicklistTest extends Page
{
def form = new Form("form")
def picklist = new PickList("picklist", "利用形態")
public PicklistTest()
{
// データを設定
picklist.setDataProvider(new DataProvider(){
public Iterable<Option> getData()
{
def items = []
items.add(new Option("web", "Web Server"))
items.add(new Option("app", "Application Server"))
items.add(new Option("db", "Database Server"))
items.add(new Option("bs", "Backup Server"))
return items
}
})
form.add(picklist)
form.add(new Submit("ok", "OK", this, "onOkClick"))
addControl(form)
}
def onOkClick()
{
def msg1 = ""
for(selected in picklist.getSelectedValues()){
msg1 += (msg1.length() != 0)?", " + selected:selected
}
addModel("msg1", msg1)
return true
}
}
2.HTMLページ
picklist-test.htm
<html>
<head><title>picklist test</title></head>
$headElements
<body>
#if ($msg1)
$msg1<br />
#else
$form<br />
#end
$jsElements
</body>
</html>
ブラウザから以下のURLにアクセスします。
http://localhost:8080/(warの名前)/picklist-test.htm
出力画面
動作環境
JDK6 Update22, Groovy 1.7.5, Apache Click 2.2.0, Apache Tomcat 7.0.4
関連情報
ビルドの仕方などは「groovyとApache ClickでHello Worldを作成する 」を参照
※click-extras-2.2.0.jarもクラスパスに入れる
http://groovyarekore.blogspot.com/2010/11/groovyapache-clickhello-world.html
0 件のコメント:
コメントを投稿