通过request.getRequestURI()得到url链接后
action中获得url 
但是return new ActionForward("/"+url);404地址错误
请问上一步红色的部分要怎么实现跳转我的到的url链接是:/项目名/xxxx.do

解决方案 »

  1.   

    楼主参考下ActionForward actionForward = new ActionForward();
    actionForward.setPath("xxx.do?dispatch=XXX");
    actionForward.setRedirect(true);
    return actionForward;
      

  2.   


    ActionForward actionForward = new ActionForward();
    actionForward.setPath("xxx.do?dispatch=XXX");
    actionForward.setRedirect(true)
    return actionForward;
      

  3.   

    SDN_SUPERUSER用你的方法
    我把actionForward.setPath("xxx.do?dispatch=XXX");
    修改成actionForward.setPath(url);
    提示我错误java.lang.IllegalArgumentException: Path http://localhost/项目名称/xxx.do does not start with a "/" character
    修改成actionForward.setPath("/"+url);404错误 
    就是这一步跳转要如何实现有其他跳转方式也行,求实现
      

  4.   

    跳路径的方法很纠结,注意斜杠方向,还有,该加path的地方不能少。你先把打印的路径取出来输入浏览器试试,行了就是行了,不行是看多什么,去掉就好了,不过跳("xxx.do?dispatch=XXX");
    的方法,注意是不是定义了自己的packge。,定义的话前面要加上就是("/packeg/xxx.do?dispatch=XXX");
      

  5.   


    这样是没有问题的 ,楼主检查一下你的URL吧。ActionForward actionForward = new ActionForward();
    //如果不带"/"默认从跟目录查找
    actionForward.setPath("/"+"fail.jsp");
    actionForward.setRedirect(true);
    return actionForward;
      

  6.   

    把url前面的“/”去掉,直接写URL,同时URL应该是个映射路径,不用谢工程名得,web项目的URL默认就是从工程名下开始的。
      

  7.   


    不对! 路径是在struts-config.xml里面配置的。 和包没有关系
      

  8.   

    我的url路径已经得到了,有两种
    可以是1:   http://localhost/工程名/xxxx.do
    或者是2:   /工程名/xxxx.do
    但是使用return new ActionForward话两种跳转都出现404之前项目中没有错误的写法是return new ActionForward("/abc.do");
      

  9.   


    那直接
    actionForward.setPath("xxx.do");也不行?
     楼主看下你的xxx.do在struts-config.xml 里面是怎么配置的
      

  10.   

    设置成actionForward.setPath("xxx.do");是行的
    不过我的url前面多了一个工程名就不行了url是通过request.getRequestURI()得到的
      

  11.   

    他默认就是从工程开始找的,你还是处理一下 request.getRequestURI()下吧。
      

  12.   

    为什么我得到的url 会有工程名 你们得到的会不会这样
      

  13.   

    或者 怎样可以让actionForward.setPath("xxx.do")跳转不是从工程名下面开始 直接跳转到http://路径
      

  14.   

    楼主用  request.getContextPath()/xxx.do  试一下 如何