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>