我用ssh整合做的一个用户增删查该的小练习.里面没什么内容。就是在action,service,dao层写了一些增删查该的方法。人啊后写了配置文件。。现在需要在增加的时候对名称做个名称是否重复的一个验证。请教各位,具体怎么写啊。。要具体点的啊。。谢谢大家了。

解决方案 »

  1.   

    http://www.w3school.com.cn/ajax/index.asp
    或直接用
    JQUERY后台就是写个action
      

  2.   

    var request = false;
    if (window.ActiveXObject){
        try {
            request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e){
            try {
                request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(ee){
                request = false;
            }
        }
    } else {
        try {
            request = new XMLHttpRequest();
        } catch (e){
            request = false;
        }
    }
    /**
     * 验证用户名
     */
    function validateUserName(userName){
        if (!request){
            alert("Error initializing XMLHttpRequest!");
        }
        var url = "http://localhost:port/contextPath/validateUserName?userName=" + userName;    
        // 设置回调函数
        request.onreadystatechange = refreshInfo;
        // 异步请求 url
        request.open("GET",url,true);
        // 将请求发往 服务端
        request.send(null);    
    }
    /**
     * 回调函数
     */
    function refreshInfo(){
        // 响应已经完成
        if (request.readyState == 4){        
            // 响应结果正确
            if (request.status == 200 || request.status == 0){        
                var val = request.responseText;            
                document.getElementById("infoId").innerHTML = val;
            }
        }
    }
      

  3.   

    如果用jquery就比较简单,$.post("<%=path%>/user.do?op=doValidateName",{name:cpname},parseBackName,"json");就可以搞定,第一个参数是url,表示在action要执行的方法,{name:cpname}要传到后台的参数,key:value形式,parseBackName回调函数,json:返回数据格式
    function parseBackName(data)
    {
    var flag = data.flag;
    if(flag == 1)
    {
    $("#errorName").text("用户名已存在,请更换!");
    $("#userName").focus();
    }
    else if(flag == 0)
    {
    $("#errorName").text("");
    }
    }如果是DWR,那就有点麻烦,要配这配那!DWR我已经快二年没用了!
      

  4.   

    简单来说。。JS实现AJAX用HTTP请求的方式将用户名传递到Action中对应的Action方法里,然后根据用户名进行查询操作判断返回值是否为空(Null),以确定用户名是否被占用
      

  5.   

    用jQuery+AJAX验证
    JS代码:
      function check(){
      var name=$("#name");   //引处name为输入框的id
      $.ajax({
         type:"post",
         url:check.action//在后台配置一个AJAX的action.此处check为后台的验证方法。
         data:{
                  uname : name  //此处的uname为后台定义的接收前台传入的值的变量。需写好 getter,setter方法。
      },
        dataType:"json",
        success:callback,//回调函数
        async:false
    });
    }
    function callback(data){
    if(data.exist)
    //提示出错信息
    return false;
    else{
    return true;
    }
    }后台的验证只需要将接收到的uname与数据库中的数据比较即可!
      

  6.   


    <script type="text/javascript" src="js/jquery.js"></script>
    这个是引入的jquery的js文件,你这个文件肯定是要用的嘛,这样引用后,就可以按照我说的来做了!
      

  7.   

    页面上可以通过:$.post("<%=path%>/user.do?op=doValidateName",{name:cpname},parseBackName,"json");
    来提交到action呀,不过action里的方法要返回一个null
    ,用PrintWriter来把结果输出到客户端
      

  8.   

    Ajax本身就可以异步通信啊,通过path寻找路径进行校验,然后讲讲检验结果返回到前台进行处理,很简单的。LZ感兴趣可以加入59673719(IT精英)群,里面很多人都可以回答你,如果需要这方面的案例,可以向群主要。