我想struts-config是在服务器启动的时候读入的,你想动态的加载好像不行吧。

解决方案 »

  1.   

    但看文档,actionForwards.addForward的功能好像是动态添加forward的呀,帮忙啊,解决了立即结帖
      

  2.   

    对,好像不能。
    可以自己另外作个不在struts里跑的程序,直接修改xml吧。jdom什么的还是很好用的。
      

  3.   

    这种处理当然不好处理了,就算修改了也要重新启动服务,有什么用!!!
    劝你放数据库里得了,这个Forward配置而已。
      

  4.   

    对,addForward就行啊。不行?把源码贴出来看看。我要看addForward那段。
      

  5.   

    看看你返回(return actionForwards)了没有,如果没有当然不运行了。
      

  6.   

    在ACTION结束时要做
    return (mapping.findForward("success"));
    其中的success就是你在struts-config.xml中定义的:
    <action path="/Job_MenuItiran"
    type="Fe.JOB.FeJobItiranAction"
    name="Menu"
    scope="request"
    validate="true"
    input="menu.jsp">
    <forward name="success" path="/web/JOB/Job_Itiran.jsp"/>
    </action>
      

  7.   

    strutslover2001(我是谁) 
    说的不对么???同意他说的啊
      

  8.   

    不知道是不是写错了代码,帮我看看,反正没有什么效果:
                      ActionForward actionForward = new ActionForward();
                      actionForward.setName("testForward");
                      actionForward.setPath("templet/test.jsp");
                      ActionForwards actionForwards = new ActionForwards();
                      actionForwards.addForward(actionForward);
                      return actionMapping.findForward("testForward");
      

  9.   

    动态添加forward是可以的,但是要在struts-config.xml中已有的!如果没有就要配置,重起服务器才行!
      

  10.   

    是你配置的问题
    其中的testForward就是你在struts-config.xml中定义的:
    <action path="/Job_MenuItiran"
    type="Fe.JOB.FeJobItiranAction"
    name="Menu"
    scope="request"
    validate="true"
    input="menu.jsp">
    <forward name="testForward" path="/test.jsp"/>
    </action>、、、要重启jsp服务器!
      

  11.   

    ActionFoward完全配置如下:
    struts-config.xml文件:
    <struts-config>
      <!-- ========== Form Bean Definitions ================================ -->     
      <form-beans>
        <form-bean name="DelivSyousai"       type="Fe.JOB.FeDelivSyousaiForm"/>
      </form-beans>     <!-- ========== Action Mapping Definitions =========================== -->
    <action-mappings>
        <action path="/Deliv_Syousai"
                type="Fe.JOB.FeDelivSyousaiAction"
                name="DelivSyousai"
                scope="request"
        validate="true"
                input="menudetail.jsp">
          <forward name="success" path="/web/JOB/DelivSyousai.jsp"/>
        </action>
    </action-mappings>
    </struts-config>Action文件:
    return (mapping.findForward("success"));
      

  12.   

    现在来解释一下上面的SOURCE,struts-config.xml文件中的input="menudetail.jsp"表示输入的页面,<forward name="success" path="/web/JOB/DelivSyousai.jsp"/>就是定义一个名为success的forward,他指向/web/JOB/DelivSyousai.jsp,当你在Action里写上return (mapping.findForward("success"))时,因为返回的success和struts-config.xml文件中的success相同,所以页面就会转向DelivSyousai.jsp,这都是在ActionServlet中控制的,由控制器控制.
      

  13.   

    如果有struts的问题不懂,可以联系我:[email protected].
      

  14.   

    如果按照上面所说的,先要在struts-config.xml中有才能用,那就不叫动态添加了,顶多叫动态配置,难道动态添加FORWARD没有办法?
      

  15.   

    action forward是action servlet启动时会自动读入的,我想应该不可以动态加载的,也可能有别的方法,假设可以动态加载,那也不需要在struts-config.xml中定义了,还可以加快启动速度,思考中......
      

  16.   

    我想到的方法,虽已结贴,来参考一下
                      ActionForward forward = mapping.findForward("success");
                      String path = forward.getPath();
                      path += ";&operateTicketId=" + bd.toString();
                      forward.setPath(path);
                      return forward;