SSH框架中用Ajax和jquery检测用户注册名是否重复

1、在lib包库中导入json包,在CSDN下载资源里面搜索,还是比较多的

2、在struts.xml中插入如下代码

<package name="userjson" namespace="/" extends="json-default">
  	<action name="userJSONAction_*" method="{1}" class="userAction">
  		<result type="json"></result>
  	</action>
  </package>
3、新建名为user_add.js插件,插入如下代码(以下代码包含必须选择部门或者岗位)

var user = {
    formValidate: function(){
        $("input[type='image']").unbind("click");
        $("input[type='image']").bind("click", function(){
            if ($("select[name='did'] option:selected").attr("value") == "") {
                alert("请选择部门");
                return false;
            }
            else {
                if (!$("select[name='pids'] option:selected").attr("value")) {
                    alert("请选择岗位");
					return false;
                }else{
					if($("#message").text()=="该用户名已经存在"){
						alert("请输入合理的用户名");
						return false;
					}else{
						return true;	
					}
				}
                return true;
            }
        });
    },
    inintEvent: function(){
        $("input[name='username']").unbind("blur");
        $("input[name='username']").bind("blur", function(){
           	user.checkUser($(this).val());
        });
    },
	checkUser:function(username){
		var parameter = {
			username:username
		};
		$.post("userJSONAction_checkUsername.action",parameter,function(data){
			$("#message").text(data.message);
			if(data.message=="该用户名可以使用"){
				$("#message").css("color","blue");
			}else{
				$("#message").css("color","red");
			}
		});	
	}
};
$().ready(function(){
	user.formValidate();
	user.inintEvent();
});
4、在UserAction中添加message,并产生get方法

private String message;
	
	public String getMessage() {
		return message;
	}

然后添加如下方法

public String checkUsername(){
	User user = this.userService.getUserByName(this.getModel().getUsername());
	if(user==null){
		this.message = "该用户名可以使用";
	}else{
		this.message = "该用户名已经存在";
	}
	return SUCCESS;
}

5、在UserDao类中添加如下方法

public User getUserByUsername(String username);

在UserDaoImpl类中实现该方法

public User getUserByUsername(String username) {
		// TODO Auto-generated method stub
		List<User> userList = this.hibernateTemplate.find("from User where username=?",username);
		if(userList.size()==0)
		{
			return null;
		}
		else
		{
			return userList.get(0);
		}
	}

6、UserService类中添加如下方法

public User getUserByName(String username);

接下来在UserServiceImpl中实现该方法

@Transactional(readOnly=false)
	public User getUserByName(String username) {
		// TODO Auto-generated method stub
		return this.userDao.getUserByUsername(username);
	}

7、最终实现效果如下





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值