Domanda

Recentemente sto attraversando con un tutorial per tag Struts2 UI.Quindi, ho trovato quell'esempio ed eseguirlo con la perfezione.

Ma, nel file di configurazione Struts.xml, non ho potuto capire alcune delle espressioni di OgnL.Che sto scrivendo qui:

<struts>
    <package name="default" extends="struts-default">
        <action name="*Register" method="{1}" class="nirmal.RegisterAction">
            <result name="populate">/register.jsp</result>
            <result name="input">/register.jsp</result>
            <result name="success">/success.jsp</result>
        </action>        

    </package>
</struts>
.

Qui sto popolando una richiesta a Populateregier di Index.jsp, quindi lo sta reindirizzandolo per registrarection.java ed eseguendo il metodo della mia classe, I.e. Come segue:

Rega adissaction.java

package nirmal;

import java.util.ArrayList;

import com.opensymphony.xwork2.ActionSupport;

public class RegisterAction extends ActionSupport {

    private String userName;
    private String password;
    private String gender;
    private String about;
    private String country;
    private ArrayList<Country> countryList;
    private String[] community;
    private ArrayList<String> communityList;
    private Boolean  mailingList;

    public String populate() {

        countryList = new ArrayList<Country>();
        countryList.add(new Country(1, "India"));
        countryList.add(new Country(2, "USA"));
        countryList.add(new Country(3, "France"));

        communityList = new ArrayList<String>();
        communityList.add("Java");
        communityList.add(".Net");
        communityList.add("SOA");

        community = new String[]{"Java",".Net"};
        mailingList = true;

        return "populate";
    }
    public String execute() {
        return SUCCESS;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
    public String getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public String getAbout() {
        return about;
    }
    public void setAbout(String about) {
        this.about = about;
    }
    public String getCountry() {
        return country;
    }
    public void setCountry(String country) {
        this.country = country;
    }
    public ArrayList<Country> getCountryList() {
        return countryList;
    }
    public void setCountryList(ArrayList<Country> countryList) {
        this.countryList = countryList;
    }
    public String[] getCommunity() {
        return community;
    }
    public void setCommunity(String[] community) {
        this.community = community;
    }
    public ArrayList<String> getCommunityList() {
        return communityList;
    }
    public void setCommunityList(ArrayList<String> communityList) {
        this.communityList = communityList;
    }
    public Boolean getMailingList() {
        return mailingList;
    }
    public void setMailingList(Boolean mailingList) {
        this.mailingList = mailingList;
    }
}
.

Prima domanda: Non ho potuto capire perché è exeucting Popolate () Method qui?

Seconda domanda: Qual è il significato di method="{1}" in Struts2.xml?

Grazie in anticipo ...

È stato utile?

Soluzione

Le 2 domande hanno la stessa risposta.Se guardi questa riga nella configurazione dei Struts:

<action name="*Register" method="{1}" class="nirmal.RegisterAction">
.

Noterai un ***** e il {1} .Quali struts sta facendo sta prendendo la tua PopulatereGister Richiedi e eseguendo una partita jolly su quanto sopra .

Prende la porzione di caratteri jolly corrispondente (popola) e lo usa come nome del metodo (sostituisce {1} con i popoli).Questo è ciò che fa sì che il metodo popolato () sia invocato nella tua classe Nirmal.RegisterAction.

Se volevi richiamare il metodo EXECUTE () nella stessa classe, inviare una richiesta di esecuzione.Ci sono ulteriori informazioni su mappature jolly sul sito dei puntoni.Personalmente li ho trovati molto utili per mantenere la configurazione pulita.

Altri suggerimenti

Metodo di popolazione viene chiamato perché è necessario che alcuni dei dati siano popolati automatici che aiutano gli utenti a selezionarlo o visualizzarlo, ti aiuta anche nella selezione predefinita.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top