页面<form action="addAction.do"  method="post" name="userForm" id="addUser">
<table align="center"  cellpadding="3" cellspacing="1" class="content-table" >
<tr>
<td>名字</td><td><input id="name" type="text" name="name" size="20"/></td></tr>
<tr><td><input type="submit" value="提交" /></td></tr>
  </table>
</form>
Struts-config配置
<action name="userForm" path="/addAction" type="com.insurance.action.AddAction" scope="request"> 
    <forward name="add"  path="/user/adduser.jsp"/> 
    <forward name="list" path="/user/userlist.jsp"/>
          </action>在页面点击提交之后,URL是http://localhost:8081/addAction。然后提示The requested resource (/addAction) is not available.
如果直接输入http://localhost:8081/Project/addAction.do也是可以进到Action里面去的。
请教各位,这是什么原因啊?

解决方案 »

  1.   

    Project是你的项目名称吧? 这是部署的问题
      

  2.   

    <form action="<%=request.getContextPath() %>/addAction.do" method="post">
    用这个吧
      

  3.   

    <form action="addAction.do"  method="post" name="userForm" id="addUser">
    改为:
    <form action="${pageContent.request.contextPath}/addAction.do"  method="post" name="userForm" id="addUser">
      

  4.   

    问题已经解决,把<action name="userForm" path="/addAction" type="com.insurance.action.AddAction" scope="request"> 
            <forward name="add"  path="/user/adduser.jsp"/> 
            <forward name="list" path="/user/userlist.jsp"/>
              </action>
    改成<action name="userForm" path="/user/addAction" type="com.insurance.action.AddAction" scope="request"> 
            <forward name="add"  path="/user/adduser.jsp"/> 
            <forward name="list" path="/user/userlist.jsp"/>
              </action>[/code]
    就可以了,但是,为什么会这样呢?看到别人的实例,path都是不需要这样写的。
      

  5.   

    使用楼上的那种做法吧,或者是使用<form action="./addAction.do" method="post">来完成吧,这样子会好点,./不行就用../如果直接输入http://localhost:8081/Project/addAction.do也是可以进到Action里面去的。因为你没有写相关的过滤器,所起可以直接进到action里面,如果写了过滤器就不能够进去了 !!
    good-best!!