1

のログインの検証を行いました。正常に動作していますが、正しいusernameとを入力した後password、アクションは実行されず、ログインに成功した後にJSPページも開かれません。

ここに私のログインフォームがあります:

         <s:form validate="true"   action="login">
        <br>
         <table class="bg" cellspacing="0">
        <tr class="logindiv">
          <td >
          </td>`enter code here`
         <td>

       Sign In
       </td>
         </tr>

           <tr>
          <td>
          <s:textfield label="Username" name="obj2.user" cssStyle="height:25px;                   width:150px;"></s:textfield>
         </td>
              </tr>



            <tr>
       <td>
       <s:password label="Password" name="obj2.pass"  cssStyle="height:25px;width:150px;"></s:password>
           </td>
            </tr>

                <tr>
                 <td>

             <center>&nbsp;
               <s:submit value="Login" cssClass="login"></s:submit>
              </center>

                  </td>
                 </tr>


            </table>

               </s:form>

struts.xml:

          <?xml version="1.0" encoding="UTF-8"?>
         <!DOCTYPE struts PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
            "http://struts.apache.org/dtds/struts-2.0.dtd">



     <struts>

          <constant name="struts.devMode" value="true" />

           <package name="default" namespace="/" extends="struts-default">
       <action name="login" class="IndianUserActionModule.indianAction" method="Login">
          <result name="input">index.jsp</result>
         <result name="success">IndianHome.jsp</result>
         <result name="fail">index.jsp</result>
      </action>

         </package>

        </struts>
4

1 に答える 1

0

Struts 構成では、アクションをパッケージ構成の特定の名前空間にマップします。ただし、JSP フォームでは、アクションをデフォルトの名前空間にマップします。これらは異なる名前空間であり、アクション構成がデフォルトの名前空間に見つからないため、失敗します。s:formアクションのマッピングに使用する名前空間を指定するには、タグの名前空間属性を使用する必要があります。例えば

<s:form validate="true" namespace="/"  action="login"> 

名前空間の概念をよりよく理解できるがあります。

于 2014-06-29T08:00:41.453 に答える