struts.xml
<package name="default" extends="struts-default">

<action name="login" class="com.capsa.web.struts.action.LoginAction">
<result name="login">/main.jsp</result>
<result name="false">/login.jsp</result>
</action>

<action name="queryAllUsers" class="com.capsa.web.struts.action.QueryAllUsers">
<result name="success">/umain.jsp</result>
<result name="input">/login.jsp</result>
</action>


<action name="queryAllE" class="com.capsa.web.struts.action.QueryAllE">
<result name="allE">/emain.jsp</result>
<result name="false">/login.jsp</result>
</action>
</package>QueryAllUsers类的代码

public String execute()
{
//String flag = "false";
if(currentPage ==  null)
{
currentPage = "1";
}
//System.out.println("开始");
int totalRows = user1DAO.getAllUsersRows();
System.out.println(totalRows);
Pager pager = (new PagerService()).getPager(currentPage, pageWay, totalRows);
System.out.println(pager);
int pageSize = 10;
pager.setPageSize(pageSize);
System.out.println(pager.getPageSize());
int startRow = pager.getStartRow();
System.out.println(startRow);
int endRow = startRow + pageSize;

//ActionContext actionContext = ActionContext.getContext();
//actionContext.put("currentPage", pager.getCurrentPage());

List resultsList = user1DAO.getAllUsers();
//System.out.println("开始6");
List ulist = new ArrayList<User1>();
User1 user = new User1();
//System.out.println("开始7");
for(int i=startRow; i<endRow; i++)
{
user = (User1)resultsList.get(i);
System.out.println(user.getEmployeeId());
ulist.add(user);
//System.out.println("开始9");
}
//System.out.println("开10");

if(ulist.size()>0){
return SUCCESS;
}else{
return INPUT;
}
//actionContext.put("list", list);
//System.out.println(flag);
//return flag;
}QueryAllUsers这个类你的代码我已经测试过,可以正常返回success。但是跳转的页面却不是umain.jsp。而是login.jsp。请教高手给怎么办?在线等,全给分。
ps:第一个loginaction可以成功跳转

解决方案 »

  1.   

    打印下ulist.size()值的正负就直达了,你判断错了吧
      

  2.   

    你运行的时候,
    if(ulist.size()>0){
    System.out.println("SUCCESS");
    return SUCCESS;
    }
    这样试试看, 打印的出来SUCCESS吗?
      

  3.   

    ulist.size()=10.,打印出来了,没有问题。
      

  4.   

    有数据,所以ulist.size=10,SUCCESS也能返回
      

  5.   


    if(ulist.size()){
    return “success”;
    }
    else{
    return "input";
    }这样试试吧、
    SUCCESS都打印了,return为什么还不跳转?
      

  6.   

    ulist.size=10  不能用boolean哦
      

  7.   

    换一个return值,比如return "ok";
    <result name="ok">...
      

  8.   

    if(ulist.size()>0){
    return SUCCESS;
    }else{
    System.out.println("input");//能打印出来吗?
    return INPUT;
    }
      

  9.   

    你确定你的action能返回需要的返回值,但是不能跳转到要求页面,就看下你的页面是否存在,路径是否正确吧
      

  10.   

    换个返回值 来回试一下,也有可能是tomcat缓存哦
      

  11.   

    还是不行啊,清除了tomcat里面的缓存  还是不行
      

  12.   

    项目从tomcat里remove掉 从新部署下 IE浏览器缓存清理下试试
      

  13.   

    还是你啊,试下我的方法,不行再来。
    SUCCESS跳转可以在struts的result里不用加SUCCESS,默认的。楼主你的package应该添加namespace="/",提供你的域名访问地址,可以这样改了试一下:<package name="default" extends="struts-default" namespace="/">
    <action name="queryAllUsers" class="com.capsa.web.struts.action.QueryAllUsers">
    <result>/umain.jsp</result>
    <result name="input">/login.jsp</result>
    </action>
    </package>