ACTION里的连个方法
public String getAllUser() throws Exception{
System.out.println("所有用户查询被执行");
                //this.userlist = us.getAllUser();
return SUCCESS; 
}
public String getUserById() throws Exception{
System.out.println("单个用户查询被执行");
/*System.out.println("id  : u.getID" +u.getId());
u = us.getUserById(u.getId());*/ //屏蔽了暂时不调用
return INPUT;
}struts.xml 配置<action name="getAllUser" class="org.zhou.action.UserAction"
method="getAllUser">
<result name="success">/showUser.jsp</result>
<result name="input">/error.jsp</result>
</action>

<!-- -->
<action name="userById" class="org.zhou.action.UserAction"
method="getUserById">
<result name="success">/editUser.jsp</result>
<result name="input">/error.jsp</result>
</action>
中间没有其他业务逻辑
控制台:输出所有用户查询被执行
所有用户查询被执行
单个用户查询被执行问题一: 
当我调用 getAllUser.action  他对应的getAllUser()方法调用了两遍 
而且调用玩了 他还调用了 userById.action 对应的方法
实验:
ACTION里加
public void getA()throws Exception
{
System.out.println("A");
}

public String getB() throws Exception
{
System.out.println("B");
return null;
}

public String nogetC() throws Exception
{
System.out.println("C");
return null;
}

public String getD()
{
System.out.println("D");
return null;
}

public void getE(){
System.out.println("E");
}
输出:
B
D
结论:
Action  里 带有返回值的  getMthod() 方法都会被执行 不明白 求大虾们解释 

解决方案 »

  1.   

    把上面的 getUserById()  和 getAllUser()  把名字改掉不用GET 开头 可以正常执行
      

  2.   

    getUserById() 和 getAllUser() 
    struts会认为是给属性注入值,估计是这样
      

  3.   

    你这个方法名符合封装的特性哈哈哈,改成getuserById()估计也能正常
      

  4.   

    struts2在进入action时会自动调用所有以get开头的方法,在跳出action时会自动调用所有以set为开头的方法。所以这边命令的时候,一般的方法不要以get,set开头,除非是你的变量(get、set方法)。
      

  5.   

    但是在 单独只使用STRUTS2 是 没有出现这样的问题额
      

  6.   

    单独使用spring3 就足够了。没必要整合