Wicketの選択例

改札選択の例

Wicket拡張機能には「Select」クラスが付属しており、group related options with <optgroup> tagsを実行できるドロップダウンボックスコンポーネントをレンダリングします。

図:ドロップダウンボックスの

wicket select example

//Java
import org.apache.wicket.extensions.markup.html.form.select.Select;
import org.apache.wicket.extensions.markup.html.form.select.SelectOption;
...
        //variable to hold the selected value from dropdown box,
        //and also make "jQuery" selected by default
        private String selected = "jQuery";

    Select languages = new Select("languages", new PropertyModel(this, "selected"));
    form.add(languages);
    languages.add(new SelectOption("framework1", new Model("Wicket")));
    languages.add(new SelectOption("framework2", new Model("Spring MVC")));
    languages.add(new SelectOption("framework3", new Model("JSF 2.0")));
    languages.add(new SelectOption("Script1", new Model("jQuery")));
    languages.add(new SelectOption("Script2", new Model("prototype")));

//HTML for dropdown box

===

1. 改札拡張

Select」タグを使用するには、「wicket-extensions」jarを取得する必要があります。

ファイル:pom.xml



    

        
            org.apache.wicket
            wicket
            1.4.17
        

        
            org.apache.wicket
            wicket-extensions
            1.4.17
        

        
        
            org.slf4j
            slf4j-log4j12
            1.5.6
        

    

2. Wicket Selectの例

ドロップダウンボックスを表示する例、「Select」および「SelectOption」タグを介して、関連するオプションを<optgroup>タグでグループ化します。

import org.apache.wicket.PageParameters;
import org.apache.wicket.extensions.markup.html.form.select.Select;
import org.apache.wicket.extensions.markup.html.form.select.SelectOption;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.markup.html.WebPage;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;

public class SelectPage extends WebPage {

    private String selected = "jQuery";

    public SelectPage(final PageParameters parameters) {

        add(new FeedbackPanel("feedback"));

        Form form = new Form("form") {
            @Override
            protected void onSubmit() {

                info("Selected language : " + selected);

            }
        };

        add(form);

        Select languages = new Select("languages", new PropertyModel(
                this, "selected"));

        form.add(languages);
        languages.add(new SelectOption("framework1", new Model(
                "Wicket")));
        languages.add(new SelectOption("framework2", new Model(
                "Spring MVC")));
        languages.add(new SelectOption("framework3", new Model(
                "JSF 2.0")));
        languages.add(new SelectOption("Script1", new Model(
                "jQuery")));
        languages.add(new SelectOption("Script2", new Model(
                "prototype")));

    }
}

3. Wicket HTMLページ

上記のWicketコードに一致するHTMLコード。






    

Wicket Select example


4. Demo

デフォルトでは「jQuery」が選択されています。

wicket select example

「Spring MVC」を選択し、表示ボタンをクリックします。

wicket select example

ダウンロード–Wicket-Select-Example.zip(7KB)