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

来源:互联网 发布:淘宝怎么开虚拟网店 编辑:程序博客网 时间:2024/06/10 03:34
  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="" onmouseover="currentDate();" onclick="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>  



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. }