好像是缺少return语句
// 用户不存在 
ActionErrors errors = new ActionErrors(); 
errors.add("userIdnotExist", new ActionMessage("userId.notExist")); 
this.saveErrors(request, errors); 
return mapping.getInputForward();

解决方案 »

  1.   

    兄弟
    你说的那个地方是没有问题的!
    需要跳转到原来页面的我全部统一用下面的代码来实现的
    String lastUrl = request.getHeader("Referer").replaceAll( 
    "http://" + request.getHeader("Host") 
    + request.getContextPath(), ""); 
    return new ActionForward(lastUrl, false); 
      

  2.   

    else { 
    // 用户不存在 
    ActionErrors errors = new ActionErrors(); 
    errors.add("userIdnotExist", new ActionMessage("userId.notExist")); 
    this.saveErrors(request, errors); 

    String lastUrl = request.getHeader("Referer").replaceAll( 
    "http://" + request.getHeader("Host") 
    + request.getContextPath(), ""); 
    return new ActionForward(lastUrl, false); 
    1。在你拥护存在的时候,String lastUrl = request.getHeader("Referer").replaceAll( 
    "http://" + request.getHeader("Host") 
    + request.getContextPath(), ""); 
    return new ActionForward(lastUrl, false); 这些代码应该是没有执行的,直接被return mapping.findForward("message"); 出去了,2。这个return不是通过structs的mapping映射路径出去,而是直接转到一个.jsp文件,在你这个.jsp文件如果需要某些数据的时候会出问题(正常的是.do到.jsp),我感觉是你这个return new ActionForward(lastUrl, false); 的问题,还有你这些有逻辑的dao调用直接放到action中不合适,加一个中间层把含逻辑的东西封起来,
      

  3.   

    1.先说明了,当用户存在的时候,就说明可以调用删除方法了,我这里的处理是直接跳到信息显示界面了,不用回原界面了,所以这个地方应该没什么错误的。
    2.这里我只是用new ActionForward(URL,TRUE|FALSE)这个方法来提问,而且我在截取lastUrl这个值时也确定了它就是当前页面在项目目录下的相对路径。其他那2种方法:getInputForwrad()、findForward()我也试过了,一个样。
    至于action内还有dao,我原来也不想这样写的,只是碰到这个问题没解决一直没心思弄别的,我原来是打算在最里面封一层单纯的数据库操作的dao实现类,在它的外面封一层专处理逻辑的dao实现类,之后再在action中直接掉用!但现在关键问题不是这个,关键是我想让它没有错误地跑起来!我昨天换了MappingDispatchAction了,把struts-config.xml中的input全都配上了,在这个地方直接用getInputForward(),也可以返回到输入页面,但是还是出现了我上面说的问题。
      

  4.   

    我的login是用Action来做的,竟然很正常,返回错误标签页面也能正常显示,汗个!
      

  5.   

    仔细的看了下,又看了下actionforward的api,之前对这个对象印象不深,结合The requested resource (/user.do) is not available. 
    我觉得可能还是路径的问题,
    在return new ActionForward(lastUrl, false)的时候由你的url来看是个绝对路径了,跳转成功后,点删除时本应要跳到xxx/user,而由于相对路径的问题实际跳到了xxx/xxx/user,所以给出了(/user.do) is not available,
    解决办法是不用绝对的lasturl,加个mapping,
      

  6.   

    确实是路径出来问题,但又不知道是哪里出了问题
    至于mapping.findForward()我第一次就是拿这个来用的!行不通!
    昨晚我终于发现问题出在哪里了
    我的struts配置文件出问题了
    原来我的adduser.jsp是放在user文件夹下面的
    我原来是配 path="/user"  页面用action="../user.do?method=addUser"的发现没问题,能行得通,就没多理了
    昨晚我把它改成 path"/user/user" 页面用action="user.do?method=addUser"发现也没问题,还解决了上面的问题。。
    菜鸟就是菜鸟,没法,还得多碰壁啊!
    谢谢heavenfeng一起和我解决这个问题!