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、最终实现效果如下