配置:
<action path="/test"
   type="org.apache.struts.actions.ForwardAction"
   parameter="/test2.jsp">
</action>test.jsp 中就一句话:<a href="test.do">test2</a>
test2.jsp中也一句话:  test2  想通过ForwardAction从test.jsp转向test2.jsp以保持struts的MVC风格,
就这样还报错:
java.lang.NoSuchMethodError: org.apache.struts.config.ForwardConfig.setContextRelative(Z)V
org.apache.struts.actions.ForwardAction.execute(ForwardAction.java:103)
org.apache.struts.chain.commands.servlet.ExecuteAction.execute(ExecuteAction.java:53)
org.apache.struts.chain.commands.AbstractExecuteAction.execute(AbstractExecuteAction.java:64)
org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)

解决方案 »

  1.   

    org.apache.struts.actions.ForwardAction
    你这个类是继承至哪个类的?
    在<Action里边配置parameter="XXX"
    如果你是继承至dispathAction,这个XXX就是你的方法名。
    如果是其它的话,你可以到网上找下。因为   Action有好几个子类,我们一般都是继承至 这几个子类,其中有几个要在struts的配置里边配置相关的参数。如调用方法名(上边我写的),或调用请求中的某个参数值来做方法名(parameter="参数名")等等,如果你要明白他的原理的话,最好看下Action子类的源代码,你看下他的execute方法里边反射是怎么写的,这样你就应该能知道该如何配置其参数了
      

  2.   

    常用的:DispathAction---parameter="方法名"
    MappingDispathAction----把调用的方法名放到request请求参数里边。parameter="请求参数名",这样后就会调用request参数里边指定参数值的方法LookupDiapshtAction---与国际化有关,把相关东西放到配置文件里边,这个不太记得了
      

  3.   

    org.apache.struts.actions.ForwardAction
    这是系统自带的,用于转向的Action
      

  4.   


    <action path="/Manage/newUser" type="org.apache.struts.actions.ForwardAction" parameter="/Manage/sysbase/userForm.jsp"/>
    看看我这个
      

  5.   

    这个和
    <action path="/test" 
      type="org.apache.struts.actions.ForwardAction" 
      parameter="/test2.jsp"> 
    </action>
    有区别吗?
      

  6.   

    你那里可以正常转向吗?
    你加了哪些个JAR包呀?
      

  7.   

    <action path="/test" type="org.apache.struts.actions.ForwardAction">
      <forward name="unameError" path="/user_info.jsp"></forward>
    </action> 将返回值改为mapping.findForward("unameError");就OK了
      

  8.   

    哦,你没懂我的意思,
    ForwardAction类是系统的,我怎么改它,要改我还不如自己写一个Action
      

  9.   

    楼主需要将STRUTS再看一边。同意8楼
      

  10.   

    去掉parameter="/test2.jsp"去看看
      

  11.   

    问题已经解决,是我将包引入重了,我用MyEclipse引入一次,又人为的加入了struts包移除人为加的struts包后,就OK了不过还是谢谢各位的点拨O(∩_∩)O~
      

  12.   

    但是2楼说的用DispatchAction定义一空方法来转向,
    确实是一个很好的方法
    支持~~~