Pregunta

Recientemente, estoy pasando con un tutorial para las etiquetas Struts2 UI.Entonces, encontré ese ejemplo y lo ejecuté con la perfección.

Pero, en el archivo de configuración Struts.xml, no pude entender algunas de las expresiones OGNL.Que estoy escribiendo aquí:

<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>

Aquí estoy poblando una solicitud en Populateregier de index.jsp, por lo que lo está redireccionando a la registración. Java y ejecutando el método de PoPulate () de mi clase, es decir, como sigue:

registracion.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;
    }
}

Primera pregunta: ¡No pude entender por qué está exeusiendo el método PoPulate () aquí?

Segunda pregunta: ¿Cuál es el significado de method="{1}" en struts2.xml?

gracias de antemano ...

¿Fue útil?

Solución

Las 2 preguntas tienen la misma respuesta.Si mira esta línea en su configuración de Struts:

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

Notará un ***** y el {1} .Lo que está haciendo Struts está tomando su solicitud populateregister y realice una coincidencia de comodines en la .

Se necesita la parte coincidente con comodín (rellenar) y lo usa como el nombre del método (reemplaza {1} con relleno).Esto es lo que hace que el método POPULATE () se invoque en su clase Nirmal.Registeraction.

Si quiso invocar el método Ejecutar () en la misma clase, enviaría una solicitud de ejecutorregistro.Hay más información sobre Mappines Wildcard en el sitio de Struts.Personalmente, les he encontrado que son muy útiles para mantener la configuración de configuración.

Otros consejos

Se llama a POPULATE MÉTODO porque necesita algunos de los datos que deben ser poblados automáticamente, lo que ayuda a los usuarios a seleccionarlo o verlo, también lo ayuda en su selección predeterminada.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top