wicket中DropDownChoice的使用及取值
- 程序员文章站
- 2022-07-15 14:46:42
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import jp.co.infomart.foods.common.admin.page.BasePage;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.form.ChoiceRenderer;
import org.apache.wicket.markup.html.form.DropDownChoice;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.IChoiceRenderer;
import org.apache.wicket.model.PropertyModel;
/**
*
* @author admin
*/
public class Test_DropDownChoice extends BasePage {
private Form form;
private static List SITES = new ArrayList();
private static Map NAMES = new HashMap();
private DropDownModel1 ddModel;
static{
SITES.add("http://www.sina.com.cn");
SITES.add("http://www.sohu.com");
SITES.add("http://www.163.com");
NAMES.put("http://www.sina.com.cn", "新浪"); //显示汉字
NAMES.put("http://www.sohu.com", "搜虎");
NAMES.put("http://www.163.com", "网易");
}
IChoiceRenderer renderer = new ChoiceRenderer() { //使用这个接口来显示上面的文字
public Object getDisplayValue(Object object) {
return NAMES.get(object);
}
};
public Test_DropDownChoice(){
super();
form = new Form("myForm");
this.add(form);
ddModel = new DropDownModel1();
DropDownChoice siteChoice = new DropDownChoice("sites",new PropertyModel(ddModel,"choList"),SITES,renderer);
form.add(siteChoice);
siteChoice.setRequired(true);
siteChoice.setNullValid(true);
siteChoice.setDefaultModelObject(ddModel.getChoList());
AjaxButton ajaxButton = new AjaxButton("ajaxButton") {
@Override
protected void onSubmit(AjaxRequestTarget art, Form<?> form) {
System.out.println(ddModel.getChoList());
}
@Override
protected void onError(AjaxRequestTarget art, Form<?> form) {
throw new UnsupportedOperationException("Not supported yet.");
}
};
form.add(ajaxButton);
}
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onUnload="fCloseWin()">
<form wicket:id="myForm">
<select wicket:id="sites"></select>
<input type="submit" wicket:id="ajaxButton"/>
</form>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>test</title>
</head>
<body bgcolor="#FFFFFF" text="#000000" topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" onUnload="fCloseWin()">
<form wicket:id="myForm">
<select wicket:id="sites"></select>
<input type="submit" wicket:id="ajaxButton"/>
</form>
</body>
</html>