struts2中使用ajax验证邮箱(用户名)是否被注册

action类:

[java]  view plain  copy
  1. package com.grace.myblog.view.action;  
  2.   
  3. import java.io.PrintWriter;  
  4.   
  5. import javax.servlet.http.HttpServletRequest;  
  6. import javax.servlet.http.HttpServletResponse;  
  7.   
  8. import org.apache.struts2.ServletActionContext;  
  9. import org.springframework.stereotype.Controller;  
  10.   
  11. import com.grace.myblog.domain.User;  
  12.   
  13. @Controller  
  14. public class EmailCheckAction{  
  15.   
  16.     /** 
  17.      *  
  18.      */  
  19.     private static final long serialVersionUID = 1L;  
  20.   
  21.     public String execute() throws Exception{  
  22.         try{  
  23.             String responseText="";  
  24.             HttpServletRequest request=ServletActionContext.getRequest();  
  25.             String email=request.getParameter("email");   
  26.             System.out.println("---"+email);  
  27.             User user = registerService.findByEmail(email);//通过email查询数据库,判断邮箱是否已经被注册  
  28.             if(user==null){    
  29.                 responseText="2";    
  30.             }else{  
  31.                 responseText="1";  
  32.             }  
  33.             HttpServletResponse response=ServletActionContext.getResponse();      
  34.             response.setContentType("text/html;charset=utf-8");   
  35.             PrintWriter out=response.getWriter();    
  36.             out.print(responseText);    
  37.             out.flush();    
  38.             out.close();    
  39.         }catch(Exception e){  
  40.             e.printStackTrace();  
  41.         }  
  42.         return null;  
  43.     }  
  44. }  

js中的代码

[javascript]  view plain  copy
  1. function checkUserMail(){  
  2.       
  3.     /* email检查ajax */  
  4.     var email = document.getElementById("email").value;  
  5.     var xhr = ajaxFunction();  
  6.     xhr.onreadystatechange = function(){  
  7.         if(xhr.readyState==4){  
  8.             if(xhr.status==200){  
  9.                 var data = xhr.responseText;        //获取文本  
  10.                 if(data=="1"){  
  11.                     document.getElementById("emailcheck").innerHTML = "<font color='red'>该邮箱已经被注册</font>";  
  12.                     return false;  
  13.                 }else{  
  14.                     document.getElementById("emailcheck").innerHTML = "恭喜,该邮箱还未被注册";  
  15.                     return true;  
  16.                 }  
  17.             }  
  18.         }  
  19.     }  
  20.     xhr.open("get","emailCheck.action?email="+email,true);  
  21.     xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");  
  22.     xhr.send();  
  23.   
  24. }  
[javascript]  view plain  copy
  1. function ajaxFunction(){  
  2.    var xmlHttp;  
  3.    try// Firefox, Opera 8.0+, Safari  
  4.         xmlHttp=new XMLHttpRequest();  
  5.     }  
  6.     catch (e){  
  7.        try{// Internet Explorer  
  8.              xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");  
  9.           }  
  10.         catch (e){  
  11.           try{  
  12.              xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");  
  13.           }  
  14.           catch (e){}  
  15.           }  
  16.     }  
  17.     return xmlHttp;  
  18.  }  


sturts.xml中的配置

[html]  view plain  copy
  1. <!-- email检查ajax  -->  
  2. <action name="emailCheck" class="emailCheckAction" >/*使用注解方式,因此class默认为类名首字母小写*/  
  3. </action>  

jsp页面只需要在想显示提示信息的地方加上下面这行代码即可

[html]  view plain  copy
  1. <div  id="emailcheck" ></div>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值