初学struts,写了个简单的web程序,就是输入个人名,然后出现显示人名+helloWorld的网页。
写了两个jsp,一个是输入人名的,其中表单提交代码为:
<form method="post" name="helloForm" action="HelloWorldAction.do">
写了个HelloWorldAction的action类,还写了个HelloWorldActionForm的actionForm类。
struts-config相应部分为:
<form-bean 
 name="helloWorldActionForm"
 type="struts.learn.form.HelloWorldActionForm" /><action path="/HelloWorldAction"
     type="struts.learn.action.HelloWorldAction"
     name="helloWorldActionForm"
     parameter="methode"
     scope="request"
     validate="false">
     <forward name="success" path="/WhoSayHelloWorld.jsp" />
     </action>
web.xml相应部分为:
<servlet>
    <servlet-name>action</servlet-name>
    <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
    <init-param>
      <param-name>config</param-name>
      <param-value>/WEB-INF/struts-config.xml</param-value>
    </init-param>
    <init-param>
     <param-name>debug</param-name>
     <param-value>2</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
 </servlet>
  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>
我用的是eclipse+tomcat插件的开发环境,建了个tomcat工程,然后把struts相关的jar文件拷入WEB-INF/lib目录下,并在工程中引入这些jar文件。
出现这样的错误:
The requested resource (/myStruts/HelloWorldAction.do) is not available.
大家帮帮忙啊,谢谢啦~

解决方案 »

  1.   

    <action path="/HelloWorldAction"
                            type="struts.learn.action.HelloWorldAction"
                            name="helloWorldActionForm"
                            parameter="methode"
    配置信息 parameter="methode"
      修改为parameter="method"
      

  2.   

    我认为问题应该是你写了parameter="methode" ,但是在浏览器中访问时,你没有提供参数比如myStruts/HelloWorldAction.do?methode=XX,解决办法,就是:
    在你的这个小例子中,可以将这个配置项去掉,因为你根本没有用到DispatchAction,也就不用parameter
    配置属性了。
      

  3.   

    从出错的信息(/myStruts/HelloWorldAction.do)可以看到,你请求的action路径是位于/myStruts目录下,而实际的配置路径则是  /HelloWorldAction ,问题出在你的jsp页面和请求的action路径不一致上,调整jsp页面的请求路径
      

  4.   

    恩 2楼说的有道理 如果你action中只有一个方法的话 没必要继承DispatchAction 所有也没必要写parameter 我一般都把path 跟parameter写成一样的值 这样就不容易搞混了
      

  5.   

    我认为是,那个表单提交代码出了问题:
    <form method="post" name="helloForm" action="HelloWorldAction.do">应该为
    <form method="post" name="helloForm" action="/HelloWorldAction.do">
    在xml的配置文件中path="/HelloWorldAction" 是没问题的,只要把form表单中的路径改为
    action="/HelloWorldAction.do",就可以了!
      

  6.   

    是个很汗的问题,struts-config.xml 和 web.xml忘记放入WEB-INF文件夹中啦thanks~