如何检查唯一身份用户?

时间:2013-11-16 11:09:15

标签: java ajax jquery struts2

我有任何应用程序,其中email_id是唯一的,每当最终用户输入他的email_id时,我通过Ajax发出了一个SQL查询,检查这个email id是否存在或不。直到这里它的工作正常,但现在我在email_is存在的时候,那么我想在JSP页面上显示这个id已被采用,反之亦然。

所以我的问题是如何从struts应用程序获取响应并将其提供给Ajax或JSP页面以及在“struts.xml”结果标记中写入什么内容?

这是我对EmailCheck.action的Ajax调用:

$("#email").blur(function() {
      var EmailV = $("#email").val();
        if(EmailV.length > 10){
            $('#Loading').show();
            $.get("EmailCheck.action", {
                Email_Id: EmailV   
            }, function(response){
                $('#Info').fadeOut();
                $('#Loading').hide();
                setTimeout("finishAjax('Info', '"+escape(response)+"')", 450);
            });
            return false;
        }
    });

如果此电子邮件类型检查器有结果标记,那么这是struts.xml

 <action name="EmailCheck"  class="org.register.customers.EmailCheckAction" method="EmailCheck">
          <result name="input">index.jsp</result>
          <result name="success">success.jsp</result>
          <result name="error">error.jsp</result>
  </action>

这是我的行动代码:

 public String EmailCheck() throws Exception{

     System.out.println(user.getEmail_Id());

       boolean create = Check_Email(user);

 //  "this is my sql call to check the existence of email"

    if (true) {       

        return "input";
    } else {          

        return ERROR;
    }        
}

1 个答案:

答案 0 :(得分:1)

如果您调用Ajax操作,则可以返回dispatcher结果。在这种情况下,呈现的JSP片段将作为响应输出。此外,您还可以选择返回streamjsonnone结果。对于您的情况,我会考虑第一个选项。首先查看this答案,让您熟悉如何返回stream内容类型为text/html的结果。然后在JSP中,您应该创建一个目标div,您可以在其中放置响应。

<div id="result"/>

现在修改你的JS以将结果插入div。

}, function(response){
  $("result").html(response);