我是这样做的~一开始我用
<% String context = request.getContextPath();%>
<script>
location.href="<%=context%>/login.do";
</script>
提交给action处理
<action
      attribute="userLoginForm" input="/login.do" name="userLoginForm" validate="false" path="/userLogin" scope="request"  type="com.login.struts.action.UserLoginAction">
   <forward name="success" path="/WEB-INF/ftl/userLoginSuccess.htm" />
   <forward name="failure" path="/WEB-INF/ftl/erro.htm" />
   </action>
 <action path="/login" type="org.apache.struts.actions.ForwardAction"
            parameter="/WEB-INF/ftl/userLogin.ftl">
  </action>
这样应该可以显示出登陆页面userLogin.ftl,怎么报Servlet action 错误呢?

解决方案 »

  1.   

    为什么我去掉
    <data-sources >
        <data-source key="mssqldb" type="org.apache.commons.dbcp.BasicDataSource">
          <set-property property="minCount" value="1" />
          <set-property property="password" value="sa" />
          <set-property property="maxCount" value="5" />
          <set-property property="user" value="sa" />
          <set-property property="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" />
          <set-property property="description" value="MSSQL" />
          <set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433/user" />
          <set-property property="autoCommit" value="true" />
          <set-property property="readOnly" value="false" />
          <set-property property="loginTimeout" value="" />
         </data-source>
      </data-sources>
    就不出现这个错误了呢?
      

  2.   

    提示是action无效,观察一下出错的地址.看一下action的路径
      

  3.   

    只是猜测
    location.href="<%=context%>/login.do";改成location.href="<%=context%>login.do";
    <set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433/user" />
    jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=user
      

  4.   

    type Status reportmessage Servlet action is not availabledescription The requested resource (Servlet action is not available) is not available.这段信息提示的是你的配置路径有问题
    仔细检查你的配置action
      

  5.   

    你的配置有问题,简化一下你的配置吧!!你不就jsp页面提交要去找login.do对应得com.login.struts.action.UserLoginAction 对吗?你改一下配置:
    <action
            name="userLoginForm" validate="false" path="/userLogin" scope="request"  type="com.login.struts.action.UserLoginAction">
       <forward name="success" path="/WEB-INF/ftl/userLoginSuccess.htm" />
       <forward name="failure" path="/WEB-INF/ftl/erro.htm" />
       </action>
    你在jsp里修改成:
    location.href="<%=context%>/userLogin.do
    试试.....应该可以的....