<html:form action="/action1.do" method="POST">这个是对的
也可以写成<html:form action="/action1" method="POST">,但是如果你没有用struts提供的标签就要写成<form action="/sample/action1.do" method="POST">另外,你的struts-config-sample.xml是否被配置到Web.xml中??应该按下面这样写:1<servlet>
2    <servlet-name>action</servlet-name>
3    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
4    <init-param>
5      <param-name>config</param-name>
6      <param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config-7sample.xml</param-value>
8    </init-param>
9    <init-param>
10      <param-name>debug</param-name>
11      <param-value>2</param-value>
12    </init-param>
13    <init-param>
14      <param-name>application</param-name>
15      <param-value>ApplicationResources</param-value>
16    </init-param>
17    <load-on-startup>2</load-on-startup>
18  </servlet>
 以上是在web.xml中定义ActionServlet,注意第6行,一定要加上struts-config-sample.xml,否则Struts找不到你的配置文件

解决方案 »

  1.   

    <form-beans>
    <form-bean name="Menu"        type="Fe.Parts.FeBaseFormBean"/>
     </form-beans>   
    <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>
    form定义在<form-beans>和</form-beans>之间,在action里引用要写name="XXXX"
      

  2.   

    <html:form name="DelivItiran" type="Fe.JOB.FeDelivItiranForm" action="/Deliv_ItiranKensaku.do">type就是实际的位置,name就是你struts-config.xml中定义在<form-beans>和</form-beans>之间的名称,action就是调用的action名字!
      

  3.   

    我在web.xml里是如下定义模块的
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>config/sample</param-name>
          <param-value>/WEB-INF/struts-config-sample.xml</param-value>
        </init-param>
      

  4.   

    同意楼上几位的说法,要了解struts1.1的新功能,建议到ibm 开发者网站上看一篇叫"深入struts 1.1"的文章.
      

  5.   

    struts-config.xml里要有这样的定义
    <action-mappings>
    <action path="/action1" type="com.xxx.www.actions.NoRightAction">
    </action>
    </action-mappings>这个才可以用的。
    <html:form action="/action1.do" method="POST">
      

  6.   

    假如你用一个好的IDE开发struts程序的话,好多配置文件会替你自动生成的。
      

  7.   

    我用的是WebSphere Studio Application Developer 5.0,还不够拉风的啊
      

  8.   

    ******************************************************************
    完整的问题是:
    在web.xml里定义一个sample模块
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>config/sample</param-name>
          <param-value>/WEB-INF/struts-config-sample.xml</param-value>
        </init-param>
    在struts-config-sample.xml里面定义如下Action
        <action name="testForm" path="/action1">
    那么请问在JSP的Form表单该如何找到该action
    以下两种我试过了都不行
        <html:form action="/action1" method="POST">
        <html:form action="/sample/action1" method="POST">
    有哪位高人能指点一下,谢谢谢谢!
    ******************************************************************
      

  9.   

    奇怪,这个问题难道没有人遇见过吗,再不行我就不用Module了:|
      

  10.   

    为什么我的老是报如下的错误:
    [Servlet 错误]-[Cannot retrieve mapping for action /sample/action1]:javax.servlet.jsp.JspException: Cannot retrieve mapping for action /sample/action1
      

  11.   

    我当时是这么做的!
    我打算把我的一个项目分成两个小模块!于是,我把我原来的Struts-config。xml文件分成3部分,一个是公共的Struts-config,另外两个分别对应相应的模块。
    对应的web。xml文件内容如下:
    <init-param>
    <param-name>config</param-name>
    <param-value>/WEB-INF/StrutsConfigs/struts-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>config/debug</param-name>
    <param-value>/WEB-INF/StrutsConfigs/struts-debug-config.xml</param-value>
    </init-param>
    <init-param>
    <param-name>config/enet-forum</param-name>
    <param-value>/WEB-INF/StrutsConfigs/struts-enet-forum-config.xml</param-value>
    </init-param>
    然后,我做了一个公共的Index。jsp页面,
    提供转到相应的模块。
    这是我的公共Strut-config。xml文件里的action:
    <action name="MySwitchForm" type="MySwitchAction" scope="request" path="/changeModule">
    <forward name="enet-forum" contextRelative="true" path="/enet-forum/listForums.do"/>
    <forward name="debug" contextRelative="true" path="/debug/trace/addNewTask.do?operation=newTask"/>
    </action>
    以struts-debug-config.xml文件为例:
    其中一个Action为:
    <action path="/trace/addNewTask" type="trace.AddTaskAction" name="newTaskForm" scope="request" input="/jsp/trace/newTask.jsp" parameter="operation">
    <forward name="success" path="/trace/listAllTasks.do" redirect="false" />
    <forward name="newTask" path="/jsp/trace/newTask.jsp" redirect="false" />
    </action>
    index。jsp上的页面连接是:
    <a href="<%=request.getContextPath ()%>/changeModule.do?moduleName=debug">Debug trace Project</a>
    不知楼主明白了吗?
    其实,用起来很简单,主要是框架要先架好!!!
      

  12.   

    链接的好办,但是要定义在<html:form>里怎么办呢
      

  13.   

    你现在是碰到在<html:form>里出现问题?
    连接没问题?
      

  14.   

    关于struts中的module,在当前jsp运行的module中切换到其它module时,是不可以象楼主那样使用的,分析楼主的错误原因可能是,楼主调用action1.do的jsp的执行时所在的module是在其它的module中,这样如果使用/sample/action1.do,那么所生成的url将是:http://localhost:8080/{app.name}/{old.module.name}/sample/action1.do,其实struts还是在原先的module下执行的,action的名称就编程了sample/action1.do了,当然找不到了,如果要实现模块间的切换可能要使用org.apache.struts.action.SwitchAction来实现了,或者可以扩展struts支持更强的模块之间的关联。
      

  15.   

    我觉得struts的module概念还很不完善,如果我没理解错的话,基本上没什么用,或者说用起来很费劲,也就是说下面这种配置是没有什么用的:
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
          <param-name>config/sample</param-name>
          <param-value>/WEB-INF/struts-config-sample.xml</param-value>
        </init-param>
    要这样配置才行,即配置多个配置文件,而不是模块:
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config-sample.xml</param-value>
        </init-param>
      

  16.   

    因为我找遍了网上的资料,包括Struts自己提供的例子,都是配置多个配置文件,而不是模块,说明模块真的是有问题
      

  17.   

    struts的模块是有问题的,但不是说它的模块没有用,其实它的模块的设计是和jsp的管理练习在一起的,对于配置多个配置文件不是struts模块有问题,而是这个是struts为了配置文件的方便管理设计的,可以将配置文件拆分分别管理,
        <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml,/WEB-INF/struts-config-         sample.xml</param-value>
    这个配置表示一个模块,但这个模块的配置文件被拆分成两部分分别管理而已,配置文件的多少和模块本身没有关系的。
    如果想弄清楚struts的模块的设计,还是下一些功夫的。不过,struts的模块设计是有问题的,主要在配置文件的共享上,struts不支持模块之间的配置共享的,比如action的共享,这样可能导致一个动作在不同模块的配置文件中的重复定义。它的模块跳转也很不方便,特别是在特殊使用的情况下,不过可以扩展struts完成自己需要的功能。