ajax+struts2“实时”检测用户名是否被占用
2016-08-28 14:29
351 查看
ajax+struts2检测用户名是否被占用
借用ajax,可以实现用户注册时,实时检测用户名是否被占用,更加友好。总不能在用户提交注册信息之后,再告诉他/她用户名已被占用吧,我就碰到过这样的网站。自己照着网上的教程,也搜索过一些知识点,添加了一段ajax+struts2的检测程序。首先是注册表单页面
js文件
当username对应的文本输入框失去焦点(onblur)时,调用下面的checkUsernameExist()函数表单页面
对应的action处理类
package com.chris.action; import java.io.PrintWriter; import javax.servlet.ServletResponse; import org.apache.struts2.ServletActionContext; import com.chris.service.UserService; import com.opensymphony.xwork2.ActionSupport; public class UsernameCheck extends ActionSupport { private String username; //业务逻辑组件,使用依赖注入的方式创建实例 private UserService userService; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public UserService getUserService() { return userService; } public void setUserService(UserService userService) { this.userService = userService; } public String execute() throws Exception { //使用ServletActionContext工具类,得到一个response对象 ServletResponse response = ServletActionContext.getResponse(); PrintWriter writer = response.getWriter(); //检测到已经存在,会返回true if(userService.checkUsername(username)) { //为了自己方便,添加的控制台打印语句 System.out.println(username + " already exist"); //write中的内容,会传递到客户端xhr对象的responseText中 //“1”表示已经存在 writer.write("1"); } else { System.out.println(username + " does not exist"); writer.write("0"); } //因为重写execute()方法,必须返回一个String字符串。这里返回null,因为不需要返回页面 return null; } }
假设已经写好了数据库、PO、DAO和业务逻辑之类的,那么,加一个检测用户名是否被占用的业务逻辑方法就可以了。
业务逻辑方法
//检测用户名是否占用的业务逻辑方法 //用户名已存在,则返回true public boolean checkUsername(String username) { if(userDAO.queryByID(username) != null) { return true; } else { return false; } }
依赖注入文件配置
在applicationContext.xml中,为UsernameCheck这个Action类注入业务逻辑组件userService。action.xml文件配置
在action.xml中添加结果文件配置,由于这里没有返回页面,故没有配置result。注意,这里的class应该配置成applicationContext.xml文件中配置的bean的id,因为是采用依赖注入的方式来实例化类,不再由struts2来根据实现类来实例化,而是通过id来获取一个Action实例。
如有疑问,欢迎指出,共同进步。
参考
http://blog.csdn.net/yichangzxc/article/details/51470068相关文章推荐
- JSP+Serverlet+javaScript+ajax实现实时检测用户名是否被占用
- ajax 检测用户名是否被占用
- ajax 检测用户名是否被占用
- Ajax无刷新检测用户名是否占用,如果占用则不能提交!
- ajax 检测用户名是否被占用
- Ajax无刷新检测用户名是否占用,如果占用则不能提交!
- 使用Ajax实时检测"用户名、邮箱等"是否已经存在
- ajax 检测用户名是否被占用
- js Ajax检测用户名是否被占用
- 应用ajax实现检测注册用户名是否已经存在
- Ajax实时验证用户名/邮箱等是否已经存在
- 简单使用Ajax实现异步查询用户名是否被占用
- Flex(flash)检测摄像头的3种状态(是否被占用,没安装摄像头,正常)
- 使用存储过程检测用户名是否存在
- Ajax实时验证用户名/邮箱等是否已经存在的代码打包
- Flash 检测摄像头是否被占用
- Ajax简单应用,检测用户名是否存在
- C#网络/检测某端口是否被占用的方法
- Ajax判断用户名是否被占用
- python 检测端口是否被占用