Пример Struts 2 <s: doubleselect>

Пример Struts 2

Скачать -Struts2-Double-Select-Example.zip

В Struts 2 тег<s:doubleselect> используется для создания двух раскрывающихся списков HTML, после выбора первого раскрывающегося списка второй раскрывающийся список будет соответствующим образом изменен. Очень классический пример - раскрывающийся список «country» и «state», где разные списки «state» зависят от выбранного «country».

Тег

В результате следующий HTML-код ...



  




Что ж, тег<s:doubleselect> действительно генерирует много кодов. Он создаст два раскрывающихся списка, множество кодов JavaScript для выполнения магии (первый выбор, второе изменение), а также добавит поведение «onchange()» к первому раскрывающемуся списку.

Look complicated, but simple!
Это всего лишь два тега<s:select>, объединенные в один тег, посмотрите еще раз.

«name» и «list» относятся к первым выпадающим спискам; «doubleName» и «doubleList» относятся ко второму раскрывающемуся списку. Набор данных такой же, как и для тега «<s:select>».

Пример распорок 2<s:doubleselect>

Полный полный пример тега<s:doubleselect>, показывает использование списков OGNL или Java для заполнения данных в раскрывающихся списках.

1. действие

Класс действия для создания и удержания двух раскрывающихся списков.
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>» и заполните списки с помощью списка 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