您的位置:首页 > 编程语言 > Java开发

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

2014-08-13 17:12 561 查看
action类:

package com.grace.myblog.view.action;

import java.io.PrintWriter;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts2.ServletActionContext;
import org.springframework.stereotype.Controller;

import com.grace.myblog.domain.User;

@Controller
public class EmailCheckAction{

/**
*
*/
private static final long serialVersionUID = 1L;

public String execute() throws Exception{
try{
String responseText="";
HttpServletRequest request=ServletActionContext.getRequest();
String email=request.getParameter("email");
System.out.println("---"+email);
User user = registerService.findByEmail(email);//通过email查询数据库,判断邮箱是否已经被注册
if(user==null){
responseText="2";
}else{
responseText="1";
}
HttpServletResponse response=ServletActionContext.getResponse();
response.setContentType("text/html;charset=utf-8");
PrintWriter out=response.getWriter();
out.print(responseText);
out.flush();
out.close();
}catch(Exception e){
e.printStackTrace();
}
return null;
}
}


js中的代码

function checkUserMail(){

/* email检查ajax */
var email = document.getElementById("email").value;
var xhr = ajaxFunction();
xhr.onreadystatechange = function(){
if(xhr.readyState==4){
if(xhr.status==200){
var data = xhr.responseText;		//获取文本
if(data=="1"){
document.getElementById("emailcheck").innerHTML = "<font color='red'>该邮箱已经被注册</font>";
return false;
}else{
document.getElementById("emailcheck").innerHTML = "恭喜,该邮箱还未被注册";
return true;
}
}
}
}
xhr.open("get","emailCheck.action?email="+email,true);
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send();

}
function ajaxFunction(){
var xmlHttp;
try{ // Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e){
try{// Internet Explorer
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){
try{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
return xmlHttp;
}


sturts.xml中的配置

<!-- email检查ajax  -->
<action name="emailCheck" class="emailCheckAction" >/*使用注解方式,因此class默认为类名首字母小写*/
</action>


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

<div  id="emailcheck" ></div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: