1 login.jsp

<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 4.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script src="./demo/jquery-1.4.4.min.js" type="text/javascript"></script>
<script src="./demo/formValidator-4.1.1.js" type="text/javascript"    charset="UTF-8"></script>
<script src="./demo/formValidatorRegex.js" type="text/javascript"    charset="UTF-8"></script>
<script type="text/javascript">
    $(document).ready(function() {
        $.formValidator.initConfig({
            formID : "form1",
            theme : "ArrowSolidBox",
            submitOnce : true,
            onError : function(msg, obj, errorlist) {
                $("#errorlist").empty();
                $.map(errorlist, function(msg) {
                    $("#errorlist").append("<li>" + msg + "</li>")
                });
                alert(msg);
            },
            ajaxPrompt : '有数据正在异步验证,请稍等...'
        });

$("#us").formValidator({
            onShowText : "请输入用户名",
            onShow : "请输入用户名,只有输入\"111111\"才是对的",
            onFocus : "用户名至少5个字符,最多10个字符",
            onCorrect : "该用户名可以注册"
        }).inputValidator({
            min : 5,
            max : 10,
            onError : "你输入的用户名非法,请确认"
        }).ajaxValidator({
            dataType : "json",
            async : true,
            url : "/JqueryFormValidateDemo/user/login.action",
            data : {
                "username" : function() {
                    return $("#us").val();
                }
            },
            success : function(data) {
                if (data == "yes")
                    return true;
                return data;
            },
        //    buttons : $("#button"),
            error : function(jqXHR, textStatus, errorThrown) {
                alert("服务器没有返回数据,可能服务器忙,请重试" + errorThrown);
            },
            onError : "该用户名不可用,请更换用户名",
            onWait : "正在对用户名进行合法性校验,请稍候..."
        });
        $("#password1").formValidator({
            onShow : "请输入密码",
            onFocus : "至少1个长度",
            onCorrect : "密码合法"
        }).inputValidator({
            min : 1,
            empty : {
                leftEmpty : false,
                rightEmpty : false,
                emptyError : "密码两边不能有空符号"
            },
            onError : "密码不能为空,请确认"
        });
    });
</script>
</head>
<body>
    <form action="" method="post" name="form1" id="form1">
        <input type="submit" name="button" id="button" value="提交" /> <br />
        <table border="0px" style="font-size:12px" width="730px">
            <tr>
                <td align="right" width="135px">用户名:</td>
                <td width="265px"><input type="text" id="us" name="us"
                    style="width:120px" value="maodong" />
                </td>
                <td width="330px"><div id="usTip" style="width:280px"></div>
                </td>
            </tr>
            <tr>
                <td align="right">密码:</td>
                <td><input type="password" id="password1" name="password1"
                    style="width:120px" />
                </td>
                <td><div id="password1Tip" style="width:280px"></div>
                </td>
            </tr>

<tr>
                <td colspan="3"><div id="msTip" style="width:280px"></div>
                </td>
            </tr>
        </table>
    </form>
</body>
</html>

2 struts action

package action;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.apache.struts2.ServletActionContext;

import net.sf.json.JSONArray;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.Action;  
public class LoginAction extends ActionSupport{
    
    private String username;
    private String message;

public String execute(){
        if(username.equals("111111")){
            this.setMessage("yes");
            return Action.SUCCESS;
        }
        this.setMessage("error");
        return Action.SUCCESS;
    }

public String getUsername() {
        return username;
    }

public void setUsername(String username) {
        this.username = username;
    }

public String getMessage() {
        return message;
    }

public void setMessage(String message) {
        this.message = message;
    }

}

3. struts。xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="user" namespace="/user" extends="json-default">
        
        <action name="login" class="action.LoginAction" >
            <result type="json">  
                <param name="root">message</param>  
           </result>
        </action>
    </package>
    
</struts>

jquery formValidate demo 采用struts 异步方式检验用户名是否存在的更多相关文章

  1. MVC Ajax Helper或jQuery异步方式加载部分视图

    Model: namespace MvcApplication1.Models { public class Team { public string Preletter { get; set; } ...

  2. 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程

    反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑)   背景介绍: 为了平衡社区成员的贡献和索取,一起帮引入了帮帮币.当用户积分(帮帮点)达到一定数额之后,就会“掉落”一定数量的“帮帮 ...

  3. 通过XMLHttpRequest和jQuery实现ajax的几种方式

    AJAX大家已经都知道了,是为了实现异步通讯,提高用户体验度,而将很多旧知识(XML,DOM,JavaScript,HTML,Jquery,Css……)重新融合的一个新的知识框架.而,XMLHttpR ...

  4. jquery的ajax同步和异步

    之前一直在写JQUERY代码的时候遇到AJAX加载数据都需要考虑代码运行顺序问题.最近的项目用了到AJAX同步.这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去 ...

  5. jquery.validate+jquery.form提交的三种方式

    原文:http://www.cnblogs.com/datoubaba/archive/2012/06/06/2538873.html jquery.validate+jquery.form提交的三种 ...

  6. JQuery AJAX Demo

    JQuery AJAX Demo APP发展集团:347072638(HTML5,APP) 1.先看一个JQuery AJAX Demo HTML端: <!DOCTYPE html PUBLIC ...

  7. JQuery日记6.5 Javascript异步模式(一)

    理解力JQuery前实现异步队列,有必要理解javascript异步模式. Javascript异步其实并不严重格异步感,js使某些片段异步方式在将来运行,流不必等待继续向下进行. 在多线程的语言中最 ...

  8. 【jQuery】(7)---jQueryAjax同步异步区别

    jQueryAjax同步异步 今天在项目开发过程中,要实现这么一个功能 <!-- 当我点击就业的时候,触发onclick时间,check()方法里通过ajax请求返回数据, 如果该用户已经毕业可 ...

  9. [转] libcurl异步方式使用总结(附流程图)

    文为转载,原文地址:libcurl异步方式使用总结 实习期间用到了libcurl来做HTTPS双向认证,用的是异步方式,简单总结一下. libcurl这个库的同步方式很简单,不做介绍,而异步方式很难理 ...

随机推荐

  1. RGB图像数据字符叠加,图像压缩(ijl库),YUV转RGB

    jackyhwei 发布于 2010-01-01 12:02 点击:3218次  来自:CSDN.NET 一些非常有用的图像格式转换及使用的源代码,包括RGB图像数据字符叠加,图像压缩(ijl库),Y ...

  2. HTTP请求中浏览器的缓存机制

    摘要:在Web开发过程中,我们可能会经常遇到浏览器缓存的问题.本文作者详细解释了浏览器缓存的机制,帮助读者更深层次的认识浏览器的缓存. 流程 当资源第一次被访问的时候,HTTP头部如下 (Reques ...

  3. Ejabberd源码解析前奏--配置

    一.基本配置     配置文件将在你第一次启动ejabberd时加载,从该文件中获得的内容将被解析并存储到内部的ejabberd数据库中,以后的配置将从数据库加载,并且任何配置文件里的命令都会被添加到 ...

  4. 八位彻底改变App Store的iOS开发者

    我们与 app 交互的方式已经被一群聪明的开发者所完全改变,他们的共性是对 app 都有各自独到的见解.下面就是其中最顶尖的八位. Loren Brichter Tweeite 不是 iOS 上第一个 ...

  5. HDU 5879 Cure

    Cure Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  6. 【转】OFBiz安全组

    安全组标识 描述 用户系统级别BIZADMIN 全部商业应用程序权限组,具有全部商业应用程序管理权限,不是技术人员权限. bizadmin FLEXADMIN 缓存管理组,具有全部颗粒的权限. fle ...

  7. 《Python 学习手册4th》 第八章 列表与字典

    ''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点 ...

  8. Intellij IDEA,WebStorm-keymap(转)

    1. ctrl + shift + n: 打开工程中的文件2. ctrl + j: 输出模板3. ctrl + b: 跳到变量申明处4. ctrl + alt + T: 围绕包裹代码(包括zencod ...

  9. js笔记--json

    1.什么事json: json是指javascript对象表示法(javascript Object Notation), json是轻量级的文本数据交换格式: json独立于语言: json具有自我 ...

  10. 状压DP uvalive 6560

    // 状压DP uvalive 6560 // 题意:相邻格子之间可以合并,合并后的格子的值是之前两个格子的乘积,没有合并的为0,求最大价值 // 思路: // dp[i][j]:第i行j状态下的值 ...