我是新手spring和struts2。我发现有两个我的实例action,一个是spring注射的,另一个不是。这是我的简单WelcomeUserAction.java
public class WelcomeUserAction extends ActionSupport {
private String username;
private String password;
private String name;
private UserDaoImpl userDao;
@Action(value="Welcome", results = {
@Result(name ="success",location="pages/welcome_user.jsp"),
@Result(name ="input", location="pages/signup.jsp")
})
public String execute(){
User user = new User();
user.setPassword(password);
user.setUsername(username);
user.setName(name);
if (getUserDao() == null){
System.out.println("getUserDao is null");
}
getUserDao().saveUser(user);
return SUCCESS;
}
/* getter and setters... */
}
当我调试这个应用程序时,我发现甚至在索引页面加载之前,弹簧就在进行注入。如图所示
当WelcomeUserAction开始工作时,还有另一个WelcomeUserAction实例,spring即userDao成为管理部分null。

我不知道为什么会这样。我应该提供更多信息,例如applicationContext.xml和web.xml吗?