没有为操作和结果输入定义验证结果

时间:2011-10-14 06:21:23

标签: jsp jquery struts2

这是我的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进行ajax调用

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

当我调用validateEmailValue时,它会出现以下错误

No result defined for action example.Registration and result input

任何洞察力?感谢

1 个答案:

答案 0 :(得分:1)

我相信您在动作班validate()中实施了example.Registration吗?

即使您指定在操作validateEmailValue()上调用方法validateEmailValue,它也会首先运行validate()并检查验证是否成功,并将页面转发到{{1验证失败的结果。

由于您的INPUT操作未声明validateEmailValue结果,系统会抛出您看到的错误。

尝试将INPUT结果添加到您的INPUT操作中,然后查看显示的内容。

validateEmailValue