用Ajax实现的验证用户名是否重复实例

  1. <%@ page contentType="text/html; charset=UTF-8" %>   
  2. <%@ taglib prefix="s" uri="/struts-tags" %>   
  3. <html>   
  4. <head>   
  5. <title>用户添加页面</title>   
  6. <script type="text/javascript" src="${path}/common/plugins/datepicker/WdatePicker.js"></script>   
  7. <script type="text/javascript" src="${path}/dwr/interface/place.js"></script>   
  8. <script type="text/javascript" src="${path}/dwr/engine.js"></script>   
  9. <script type="text/javascript" src="${path}/dwr/util.js"></script>   
  10. <script>   
  11.   
  12.   function getCity(){   
  13.    var obj_pro=document.getElementById("province");   
  14.    var obj_City = document.getElementById("city");   
  15.    var pro_index=obj_pro.selectedIndex;   
  16.    var pro_value=obj_pro.options[pro_index].value;   
  17.        
  18.      
  19.   if(pro_value!=""&&pro_value!=null){   
  20.         
  21.      place.getCityList(pro_value,cityReturn);   
  22.       
  23.    }else{   
  24.         
  25.      DWRUtil.removeAllOptions(obj_City);   
  26.      DWRUtil.addOptions(obj_City,{'':'请选择城市...'});   
  27.    }   
  28.       
  29.   }   
  30.     
  31.     
  32.  function cityReturn(data){   
  33.       
  34.      var obj_City = document.getElementById("city");   
  35.      DWRUtil.removeAllOptions(obj_City);   
  36.      DWRUtil.addOptions(obj_City,{'':'请选择城市...'});   
  37.      DWRUtil.addOptions(obj_City,data);   
  38.  }    
  39.     
  40.  function currentDate(){   
  41.     var myDate=new Date();   
  42.     var year=myDate.getFullYear();   
  43.     var month=myDate.getMonth()+1;   
  44.     var day=myDate.getDate();   
  45.     var now=year+"-"+month+"-"+day;   
  46.     document.forms[0]['user.startDate'].value=now;   
  47.  }   
  48.     
  49.   // 创建XMLHTTPRequest对象   
  50.  function getXMLHTTPRequest(){   
  51.      var xmlHttp;   
  52.      if(window.XMLHttpRequest){   
  53.          xmlHttp=new XMLHttpRequest();  //非IE浏览器,用xmlhttprequest对象创建   
  54.       }else if(window.ActiveXObject){   
  55.          xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");  //IE浏览器用activexobject对象创建   
  56.       }   
  57.         
  58.     return xmlHttp;   
  59.     
  60.  }   
  61.     
  62.  var http;   
  63.  function checkUser(){   
  64.     var username=document.forms[0]['user.username'].value;   
  65.     http=getXMLHTTPRequest();   
  66.     var url="${path}/user/checkUser.action?user.username="+username;   
  67.     if(http){  //成功创建XMLHTTPRequest对象   
  68.       http.open("GET",url,true);   //与服务端建立连接(请求方式post或get,地址,true表示异步)   
  69.       http.onreadystatechange=callback;  //指定回调函数      
  70.       http.send(null);  //发送请求   
  71.     }   
  72.        
  73.        
  74.  }   
  75.     
  76.  function callback(){   
  77.    if(http.readyState==4){   
  78.      if(http.status==200){   
  79.         processResponse();   
  80.      }   
  81.       
  82.    }   
  83.      
  84.  }   
  85.  //处理服务器端响应   
  86.  function processResponse(){   
  87.     var text=http.responseText;   
  88.     if(text=="true"){   
  89.         document.getElementById("error").innerHTML="用户名已经存在";   
  90.      }else{   
  91.         document.getElementById("error").innerHTML="";   
  92.      }   
  93.  }   
  94.     
  95.     
  96.     
  97. </script>   
  98. </head>   
  99. <body>   
  100.   
  101. <form name="form" method="post" action="${path }/user/userSave.action">   
  102.     
  103. <table  align="center" class="table-form" >   
  104.   <tr>   
  105.      <td colspan="4" class="table-title">添加用户信息</td>   
  106.   </tr>   
  107.   <tr>   
  108.      <td class=table-lable_title>用户名</td>   
  109.      <td><input type="text" name="user.username" onBlur="checkUser()"><span id="error" style="color:red"></span></td>   
  110.      <td class=table-lable_title>密&nbsp;&nbsp;码</td>   
  111.      <td><input type="password" name="user.password" id="password" size="21"></td>   
  112.   </tr>   
  113.   <tr>   
  114.      <td class=table-lable_title>性&nbsp;&nbsp;别</td>   
  115.      <td><select name="user.sex" style="width:50px">   
  116.           <option value="1">&nbsp;男&nbsp;</option>   
  117.           <option value="0">&nbsp;女&nbsp;</option>   
  118.          </select>   
  119.      </td>   
  120.      <td class=table-lable_title>省&nbsp;&nbsp;份</td>   
  121.      <td><select name="user.provinceId" id="province" onChange="getCity();">   
  122.          <option value="">请选择省份</option>   
  123.          <s:iterator value="provinceList">   
  124.          <option value="<s:property value="id"/>"><s:property value="provinceName"/></option>   
  125.          </s:iterator>   
  126.          </select>   
  127.      </td>   
  128.   </tr>    
  129.   <tr>   
  130.      <td class=table-lable_title>城&nbsp;&nbsp;市</td>   
  131.      <td><select name="user.cityId" id="city">   
  132.        <option value="">请选择城市...</option>   
  133.        </select>   
  134.      </td>   
  135.      <td class=table-lable_title>电&nbsp;&nbsp;话</td>   
  136.      <td><input type="text" name="user.telphone" id="telphone" size="20"></td>   
  137.    </tr>   
  138.    <tr>   
  139.      <td class=table-lable_title>E-Mail</td>   
  140.      <td><input type="text" name="user.email" id="email" size="20"></td>   
  141.      <td class=table-lable_title>添加日期</td>   
  142.      <td>   
  143.       <input type="text" name="user.startDate" class="Wdate" value="" οnmοuseοver="currentDate();" οnclick="new WdatePicker(this)" readonly>   
  144.      </td>   
  145.    </tr>   
  146.    <tr>   
  147.       <td colspan="4" class="table-button">   
  148.          <input type="submit" value="提交" >   
  149.          <input type="reset"  value="重置" >   
  150.       </td>   
  151.      </tr>   
  152. </table>   
  153.       
  154. </form>         
  155. </body>   
  156. </html>  
<%@ page contentType="text/html; charset=UTF-8" %>
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>用户添加页面</title>
<script type="text/javascript" src="${path}/common/plugins/datepicker/WdatePicker.js"></script>
<script type="text/javascript" src="${path}/dwr/interface/place.js"></script>
<script type="text/javascript" src="${path}/dwr/engine.js"></script>
<script type="text/javascript" src="${path}/dwr/util.js"></script>
<script>

  function getCity(){
   var obj_pro=document.getElementById("province");
   var obj_City = document.getElementById("city");
   var pro_index=obj_pro.selectedIndex;
   var pro_value=obj_pro.options[pro_index].value;
    
  
  if(pro_value!=""&&pro_value!=null){
     
     place.getCityList(pro_value,cityReturn);
   
   }else{
     
     DWRUtil.removeAllOptions(obj_City);
     DWRUtil.addOptions(obj_City,{'':'请选择城市...'});
   }
   
  }
 
 
 function cityReturn(data){
   
     var obj_City = document.getElementById("city");
     DWRUtil.removeAllOptions(obj_City);
     DWRUtil.addOptions(obj_City,{'':'请选择城市...'});
	 DWRUtil.addOptions(obj_City,data);
 } 
 
 function currentDate(){
    var myDate=new Date();
    var year=myDate.getFullYear();
    var month=myDate.getMonth()+1;
    var day=myDate.getDate();
    var now=year+"-"+month+"-"+day;
    document.forms[0]['user.startDate'].value=now;
 }
 
  // 创建XMLHTTPRequest对象
 function getXMLHTTPRequest(){
     var xmlHttp;
     if(window.XMLHttpRequest){
         xmlHttp=new XMLHttpRequest();  //非IE浏览器,用xmlhttprequest对象创建
      }else if(window.ActiveXObject){
         xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");  //IE浏览器用activexobject对象创建
      }
     
    return xmlHttp;
 
 }
 
 var http;
 function checkUser(){
    var username=document.forms[0]['user.username'].value;
    http=getXMLHTTPRequest();
    var url="${path}/user/checkUser.action?user.username="+username;
    if(http){  //成功创建XMLHTTPRequest对象
      http.open("GET",url,true);   //与服务端建立连接(请求方式post或get,地址,true表示异步)
      http.onreadystatechange=callback;  //指定回调函数   
      http.send(null);  //发送请求
    }
    
    
 }
 
 function callback(){
   if(http.readyState==4){
     if(http.status==200){
        processResponse();
     }
   
   }
  
 }
 //处理服务器端响应
 function processResponse(){
    var text=http.responseText;
    if(text=="true"){
        document.getElementById("error").innerHTML="用户名已经存在";
     }else{
        document.getElementById("error").innerHTML="";
     }
 }
 
 
 
</script>
</head>
<body>

<form name="form" method="post" action="${path }/user/userSave.action">
 
<table  align="center" class="table-form" >
  <tr>
     <td colspan="4" class="table-title">添加用户信息</td>
  </tr>
  <tr>
     <td class=table-lable_title>用户名</td>
     <td><input type="text" name="user.username" onBlur="checkUser()"><span id="error" style="color:red"></span></td>
     <td class=table-lable_title>密&nbsp;&nbsp;码</td>
     <td><input type="password" name="user.password" id="password" size="21"></td>
  </tr>
  <tr>
     <td class=table-lable_title>性&nbsp;&nbsp;别</td>
     <td><select name="user.sex" style="width:50px">
          <option value="1">&nbsp;男&nbsp;</option>
          <option value="0">&nbsp;女&nbsp;</option>
         </select>
     </td>
     <td class=table-lable_title>省&nbsp;&nbsp;份</td>
     <td><select name="user.provinceId" id="province" onChange="getCity();">
         <option value="">请选择省份</option>
         <s:iterator value="provinceList">
         <option value="<s:property value="id"/>"><s:property value="provinceName"/></option>
         </s:iterator>
         </select>
     </td>
  </tr> 
  <tr>
     <td class=table-lable_title>城&nbsp;&nbsp;市</td>
     <td><select name="user.cityId" id="city">
       <option value="">请选择城市...</option>
       </select>
     </td>
     <td class=table-lable_title>电&nbsp;&nbsp;话</td>
     <td><input type="text" name="user.telphone" id="telphone" size="20"></td>
   </tr>
   <tr>
     <td class=table-lable_title>E-Mail</td>
     <td><input type="text" name="user.email" id="email" size="20"></td>
     <td class=table-lable_title>添加日期</td>
     <td>
      <input type="text" name="user.startDate" class="Wdate" value="" οnmοuseοver="currentDate();" οnclick="new WdatePicker(this)" readonly>
     </td>
   </tr>
   <tr>
      <td colspan="4" class="table-button">
	     <input type="submit" value="提交" >
		 <input type="reset"  value="重置" >
	  </td>
     </tr>
</table>
   
</form>      
</body>
</html>



2. UserAction.java

Java代码 复制代码
  1. public class UserAction{   
  2.    private UserService userService;   
  3.       
  4.    public void setUserService(UserService userService){   
  5.        this.userService=userService;   
  6.    }   
  7.   
  8.   
  9.   public void checkUser(){   
  10.            
  11.       HttpServletResponse response=ServletActionContext.getResponse();   
  12.       boolean flag=userService.isExistUser(user.getUsername());   
  13.       try{   
  14.              PrintWriter pw=response.getWriter();   
  15.              pw.print(flag);   
  16.              pw.close();   
  17.         }catch(IOException e){   
  18.                  
  19.         }   
  20.           
  21.            
  22.              
  23.            
  24.     }   
  25.   
  26.   
  27. }  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值