2011-10-14 28 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"/> 
相关问题