Struts 2 <s:doubleselect>例

Struts 2 の例

ダウンロード–Struts2-Double-Select-Example.zip

Struts 2では、<s:doubleselect>タグを使用して2つのHTMLドロップダウンボックスを作成します。最初のドロップダウンリストを選択すると、それに応じて2番目のドロップダウンリストが変更されます。 非常に古典的な例は、「country」および「state」ドロップダウン選択です。ここでは、選択した「country」に応じて異なる「state」リストがあります。

タグ

次のHTMLコードが生成されます…



  




さて、<s:doubleselect>タグは実際に多くのコードを生成します。 2つのドロップダウンリストを作成します。多くのJavaScriptのコードは、背後にある魔法(最初の選択、2番目の変更)を実行し、最初のドロップダウンボックスに「onchange()」動作を付加します。

Look complicated, but simple!
2つの<s:select>タグが1つのタグに結合されているだけです。もう一度はっきりと見てください。

name」および「list」は、最初のドロップダウンリストを参照します。 「doubleName」および「doubleList」は、2番目のドロップダウンリストを参照します。 データ母集団は「<s:select>」タグと同じです。

Struts 2<s:doubleselect>の例

<s:doubleselect>タグの完全な例として、OGNLまたはJavaリストを使用してデータをドロップダウンリストに入力する方法を示します。

1. アクション

2つのドロップダウンリストを生成して保持するアクションクラス。
DoubleSelectAction.java

package com.example.common.action;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import com.opensymphony.xwork2.ActionSupport;

public class DoubleSelectAction extends ActionSupport{

    private String fruit1;
    private String fruit2;

    private String server1;
    private String server2;

    private String language1;
    private String language2;

    Map languageMap;

    public String getFruit1() {
        return fruit1;
    }

    public void setFruit1(String fruit1) {
        this.fruit1 = fruit1;
    }

    public String getFruit2() {
        return fruit2;
    }

    public void setFruit2(String fruit2) {
        this.fruit2 = fruit2;
    }

    public String getServer1() {
        return server1;
    }

    public void setServer1(String server1) {
        this.server1 = server1;
    }

    public String getServer2() {
        return server2;
    }

    public void setServer2(String server2) {
        this.server2 = server2;
    }

    public String getLanguage1() {
        return language1;
    }

    public void setLanguage1(String language1) {
        this.language1 = language1;
    }

    public String getLanguage2() {
        return language2;
    }

    public void setLanguage2(String language2) {
        this.language2 = language2;
    }

    public Map getLanguageMap() {
        return languageMap;
    }

    public void setLanguageMap(Map languageMap) {
        this.languageMap = languageMap;
    }

    public DoubleSelectAction(){
      languageMap =new HashMap();

          languageMap.put("Java",
            new ArrayList(Arrays.asList("Spring", "Hibernate", "Struts 2")));
          languageMap.put(".Net", new ArrayList(Arrays.asList("VB.Net", "C#")));
          languageMap.put("JavaScript", new ArrayList(Arrays.asList("jQuery")));
    }

    public String execute() {
        return SUCCESS;
    }

    public String display() {
        return NONE;
    }

}

2. 結果ページ

<s:doubleselect>」タグを使用して2つのドロップダウンボックスをレンダリングし、JavaリストとOGNLリストを介してリストにデータを入力します

doubleselect.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>





Struts 2 example

result.jsp

<%@ taglib prefix="s" uri="/struts-tags" %>



Struts 2 example

Test #1 : ,

Test #2 : ,

Test #2 : ,

3. struts.xml

一緒にリンクしてください〜





 



   
    pages/doubleselect.jsp
   

   
    pages/result.jsp