刚开始学习struts2 看到modeldriven部分 在网上看到有关讨论
下面两种方式实质都是在使用modeldrivenpublic class LoginAction4 implements ModelDriven<User>{
    private User user = new User();

    public User getModel() {
        return user;
    }    public String execute() {
        if(user.getUsername().trim().equalsIgnoreCase("zahir") && user.getPassword().equals("3859669")){
   return "success";
        }
        return "error";
    }
}public class LoginAction4 {
    private User user = new User();

    public User getModel() {
        return user;
    }    public String execute() {
if(user.getUsername().trim().equalsIgnoreCase("zahir") 
                                  && user.getPassword().equals("3859669")){
    return "success";
          }
return "error";
    }
}
不同的是实现了ModelDriven接口的Action
中的Model会被压入到值栈中 public String intercept(ActionInvocation invocation) throws Exception {
        Object action = invocation.getAction();        if (action instanceof ModelDriven) {
            ModelDriven modelDriven = (ModelDriven) action;
            ValueStack stack = invocation.getStack();
            if (modelDriven.getModel() !=  null) {
             stack.push(modelDriven.getModel());
            }
        }
        return invocation.invoke();
    }
也确实将我的user压入值栈了
但在我的jsp中用debug却只能看到
Value Stack Contents
Object Property Name Property Value  
zahir.logon.actions.LoginAction2 :
username zahir 
password 3859669 com.opensymphony.xwork2.DefaultTextProvider: texts null 和不实现ModelDriven接口方式得到的结果一模一样,为什么?