日期:2014-05-17  浏览次数:20685 次

struts2中action的新手问题
 <action name="login*" class="com.bjsxt.struts2.user.action.LoginAction{1}">
            <result>/user_login_success.jsp</result>
        </action>


import java.util.Map;
 
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
 
public class LoginAction1 extends ActionSupport {
     
    private Map request;
    private Map session;
    private Map application;
     
    public LoginAction1() {
        request = (Map)ActionContext.getContext().get("request");
        session = ActionContext.getContext().getSession();
        application = ActionContext.getContext().getApplication();
    }
     
    public String execute() {
        request.put("r1", "r1");
        session.put("s1", "s1");
        application.put("a1", "a1");
        return SUCCESS; 
    }
     
     
}

如题,这段.xml这样配置了之后,com.bjsxt.struts2.user.action.LoginAction{1}里面的函数是如何执行,
 LoginAction1()是在什么时候执行的。
还有例如
 import com.opensymphony.xwork2.ActionSupport;
 
public class UserAction extends ActionSupport {
    private String name;
    public String add() {
        System.out.println("name=" + name);
        return SUCCESS;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
     
     
}

action调用了add方法,而set和get方法是什么时候执行的,struts2怎么区分哪些初始化用的例如get,set,哪些是给action调用的例如add方法。