Struts 2 <s: doublebles> Beispiel

Beispiel für Struts 2

Laden Sie es herunter -Struts2-Double-Select-Example.zip

In Struts 2 werden mit dem Tag<s:doubleselect>zwei HTML-Dropdown-Felder erstellt. Sobald die erste Dropdown-Liste ausgewählt ist, wird die zweite Dropdown-Liste entsprechend geändert. Ein sehr klassisches Beispiel ist die Dropdown-Auswahl „country“ und „state“, bei der unterschiedliche Listen „state“ von den ausgewählten „country“ abhängen.

Ein -Tag

Daraus ergibt sich folgender HTML-Code…



  




Nun, das<s:doubleselect>-Tag generiert wirklich viele Codes. Es werden zwei Dropdown-Listen erstellt, viele JavaScript-Codes, um die Magie dahinter auszuführen (erste Auswahl, zweite Änderung), und außerdem wird dem ersten Dropdown-Feld ein "onchange()" -Verhalten hinzugefügt.

Look complicated, but simple!
Es sind nur zwei<s:select>-Tags, die in einem einzigen Tag zusammengefasst sind.

Die "name" und "list" beziehen sich auf die ersten Dropdown-Listen; Die "doubleName" und "doubleList" beziehen sich auf die zweite Dropdown-Liste. Die Datenpopulation ist mit dem Tag "<s:select>" identisch.

Beispiel für Streben 2<s:doubleselect>

Ein vollständiges Beispiel für das<s:doubleselect>-Tag zeigt die Verwendung von OGNL- oder Java-Listen zum Auffüllen der Daten in die Dropdown-Listen.

1. Aktion

Aktionsklasse zum Generieren und Halten der beiden Dropdown-Listen.
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. Ergebnisseite

Rendern Sie zwei Dropdown-Felder über das Tag "<s:doubleselect>" und füllen Sie die Listen über die Java-Liste und die OGNL-Liste

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

Link alle zusammen ~





 



   
    pages/doubleselect.jsp
   

   
    pages/result.jsp