2008年10月20日 星期一

Wicket的RadioChoice元件

步驟一.建置一個RadioChoiceExamples.html

<html>
<body>
<form wicket:id="form">
<h3>這是RadioChoiceExamples</h3>
<span wicket:id="sites"></span>
</form>
</body>
</html>

步驟二.建置RadioChoiceExamples.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.RadioChoice;

public class RadioChoiceExamples 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 RadioChoiceExamples(){
super();
Form cForm = new Form("form");

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

RadioChoice cSites = new RadioChoice("sites",SITES,cSitesRend);
cForm.add(cSites);
this.add(cForm);
}
}

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

...
<tr>
<td><a wicket:id="Examples15">show RadioChoiceExamplesPage</a></td>
</tr>
...


...
add(new PageLink("Examples15",RadioChoiceExamples.class));
...

沒有留言: