2011-10-14 59 views
1

輸入這是我在struts.xml沒有結果的行動定義,並導致進行驗證

<struts> 
    <include file="example.xml"/> 

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

    <package name="register" namespace="/register" extends="struts-default,json-default"> 
    <action name="Registration" class="example.Registration"> 
     <result name="success">/SucessPage.jsp</result> 
     <result name="input">/UserData.jsp</result> 
    </action> 

    <action name="validateEmailValue" method="validateEmailValue" 
      class="example.Registration"> 
     <result type="json"/> 
    </action> 
    </package> 
</struts> 

在jsp頁面

<s:form action="http://localhost:8080/MyRegistrationProject/register/Registration" 
     name="data" validate="true"> 

驗證它的數據,但在我的動作類有做方法和執行validateEmailValue

我使用的getJSON

$.getJSON("http://localhost:8080/MyRegistrationProject/register/validateEmailValue", 
    { email:emailId }, 
    function(data) { alert("success") } 
); 
使AJAX調用

當我做呼籲validateEmailValue它提供了以下錯誤

No result defined for action example.Registration and result input 

任何見解?謝謝

+0

可以顯示example.Registration的代碼嗎? – Quincy

回答

1

我相信你在你的行動類example.Registration中執行validate()對不對?

即使您指定要調用的方法validateEmailValue()你的行動validateEmailValue,它會首先運行validate()和檢查驗證成功,將在頁面轉發到INPUT的結果,如果驗證失敗。

由於您的validateEmailValue操作沒有聲明INPUT結果,系統會拋出您看到的錯誤。

嘗試將INPUT結果添加到您的validateEmailValue操作中,並查看顯示的內容。

<result name="input" type="json"/> 
相關問題