欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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>