Struts 2 - Statische Parameter für die Action-Klasse konfigurieren

Struts 2 - Konfigurieren Sie den statischen Parameter für die Action-Klasse

Laden Sie es herunter -Struts-Action-Static-ParamExample.zip

In einigen Fällen müssen Sie möglicherweise einige vordefinierte oder statische Parameterwerte für eine Action-Klasse zuweisen.

Definierte den statischen Parameter für eine Aktion

In Struts 2 können Sie es in der Dateistruts.xmlüber das Tag<param>konfigurieren. Beispiel:

struts.xml



   
   

   
    
        pages/welcome.jsp
        English
                Chinese
                France
    
   

Es weist einer AktionsklasseLocaleActiondrei vordefinierte Parameterwerte zu.

Rufen Sie den statischen Parameter von Action ab

Um die statischen Parameterwerte vonstruts.xml zu erhalten, muss die Action-Klasse dieParameterizable-Schnittstelle implementieren. Der Zugriff kann entweder mit der EigenschaftMap property oderJavaBeanerfolgen.

Die statischen Parameter der Aktion werden durchstaticParams Interceptor gesteuert, die im Standardstapel "struts-default.xml" enthalten sind.

1. Map-Eigenschaft

Während der Initialisierung der Aktionsklasse übergibt der staticParams Interceptor über die MethodesetParams()eine Referenz der vordefinierten Parameterwerte an die Klasse der Aktion.

//...
import com.opensymphony.xwork2.config.entities.Parameterizable;

public class LocaleAction implements Parameterizable{

    Map params;
    //...
    public void setParams(Map params) {
        this.params = params;
    }
}

2. JavaBean-Eigenschaft

Wenn Sie während der Initialisierung der Action-Klasse die Getter- und Setter-Methoden ordnungsgemäß erstellt haben, legt der staticParams-Interceptor die vordefinierten Parameterwerte für jede JavaBean-Eigenschaft fest, die den "param" -Elementen entspricht.

//...
import com.opensymphony.xwork2.config.entities.Parameterizable;

public class LocaleAction implements Parameterizable{

    String englishParam;
    String chineseParam;
    String franceParam;

    public String getEnglishParam() {
        return englishParam;
    }

    public void setEnglishParam(String englishParam) {
        this.englishParam = englishParam;
    }

    public String getChineseParam() {
        return chineseParam;
    }

    public void setChineseParam(String chineseParam) {
        this.chineseParam = chineseParam;
    }

    public String getFranceParam() {
        return franceParam;
    }

    public void setFranceParam(String franceParam) {
        this.franceParam = franceParam;
    }
    //...
}