我正在使用任何具有email_id唯一性的应用程序,每当最终用户输入他的应用程序时,我都会email_id通过Ajax发出SQL查询,以检查是否email id存在该查询。在此之前,它工作正常,但现在我知道那是什么时候email_is存在,那么我想在JSP页面上显示该ID已被使用,反之亦然。
email_id
email id
email_is
所以我的问题是如何从struts应用程序获取响应并将其提供给Ajax或JSP页面,以及在“ struts.xml”结果标签中写入什么?
这是我的Ajax呼叫EmailCheck.action:
EmailCheck.action
$("#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该电子邮件类型检查器的结果标签吗?
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; } }
如果调用Ajax操作,则可以返回dispatcher结果。在这种情况下,渲染的JSP片段将作为响应输出。此外,你必须选择返回一个stream,json或none结果。对于您的情况,我将考虑第一种选择。首先查看此答案,以使您熟悉如何返回stream具有text/html内容类型的结果。然后,在JSP中,您应该创建一个目标div,并将响应放在该目标div中。
dispatcher
stream
json
none
text/html
<div id="result"/>
现在修改您的JS以将结果插入div。
}, function(response){ $("result").html(response);