java新手:最近在实现ssh实现注册时验证用户名是否已经存在
在register.jsp里
<input type="text" class="form-control" name="username" id="username" placeholder="用户名" required="required" onblur="checkName()"/><span id="name_tishi"></span>
required="required"表示输入框不可以为空,
onblur事件会在对象失去焦点时发生。
js:
function checkName(){$("#error").css("display","none");var username = $.trim($("#username").val());// console.log("username=="+username);$.ajax({type:'POST',url:"Login_findUserByName.action",data:"username="+username,dataType:"text",success: function(data) {//console.log("data=="+data); if(data == "true"){ $("#name_tishi").html("");// $("#e_tishi").css("color","green");$("#submit_btn").removeAttr("disabled");//注册的idreturn true; }else{ // console.log("data注册过"+data); $("#name_tishi").html("用户名已经存在");$("#name_tishi").css("color","red");$("#submit_btn").attr("disabled","disabled");document.getElementById("username").value=""; //让用户名输入框为空$("#username").focus();//把焦点给用户名输入框return false;}} });}
在action中的函数:
public void findUserByName(){boolean firstName = adminBizImpl.findUserByName(username);//取得response 实例HttpServletResponse response = ServletActionContext.getResponse();//可以注册if(firstName==false){try {//response.getWriter()得到PrintWriter实例,write 输出firstName的值response.getWriter().write(firstName+"");} catch (IOException e) {e.printStackTrace();}System.out.println("firstName=="+false);}else {//不能注册try {response.getWriter().write(firstName+"");} catch (IOException e) {e.printStackTrace();}System.out.println("firstName=="+true);}}
在biz中:
public boolean findUserByName(String username) {return adminDao.findUserByName(username);}
在dao中:
public boolean findUserByName(String username) {Session session = sessionFactory.getCurrentSession();Transaction tx = session.beginTransaction();List<Admin> list =null;try{String sql = "select * from admin where name='"+username+"';";list = session.createSQLQuery(sql).list();System.out.println("findUserByName =="+list);mit();if(list!=null && list.size()>0){return false;}}catch(Exception e){tx.rollback();e.printStackTrace();}return true;}
在struts.xml中:
<action name="Login_*" class="userAction" method="{1}"><!-- 没有返回值--></action>
在用户注册时写的,可以根据验证用户名的代码,可以实现验证电话和邮箱的。