2008年10月20日 星期一

Wicket的ListChoice元件

步驟一.建置一個ListChoiceExamples.html

<html>
<body>
<form wicket:id="form">
<h3>這是ListChoiceExamples</h3>
<select multiple ="multiple" wicket:id="site"></select>
</form>
</body>
</html>

步驟二.建置一個ListChoiceExamples.java

package wicket.examples.html.body.form.choice;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import wicket.markup.html.WebPage;
import wicket.markup.html.form.ChoiceRenderer;
import wicket.markup.html.form.Form;
import wicket.markup.html.form.IChoiceRenderer;
import wicket.markup.html.form.ListChoice;

public class ListChoiceExamples extends WebPage {

private static List SITES = new ArrayList();
private static Map NAMES = new HashMap();

static{
SITES.add("http://java.sun.com");
SITES.add("http://wicket.apache.org/");
SITES.add("http://www.hibernate.org/hib_docs/reference/en/html/index.html");

NAMES.put("http://java.sun.com", "SUN");
NAMES.put("http://wicket.apache.org/", "Wicket");
NAMES.put("http://www.hibernate.org/hib_docs/reference/en/html/index.html", "hibernate");
}

public ListChoiceExamples(){
super();
Form cForm = new Form("form");

IChoiceRenderer cSiteRend = new ChoiceRenderer(){
public Object getDisplayValue(Object object){
return NAMES.get(object);
}
};

ListChoice cSiteChoice = new ListChoice("site",SITES,cSiteRend);

cForm.add(cSiteChoice);
this.add(cForm);
}
}

步驟三.修改Examples.html & Examples.java

...
<tr>
<td><a wicket:id="Examples14">show ListChoiceExamplesPage</a></td>
</tr>
...


...
add(new PageLink("Examples14",ListChoiceExamples.class));
...

沒有留言: