• struts2下的Ajax


    index.jsp

    	<script type="text/javascript" src="js/xhr.js"></script>
    	<script type="text/javascript">
    		function check_userName(){
    			
    			//1 获取Ajax请求对象	
    			var xhr = getXhr();
    			//alert(xhr)
    			//2 创建请求
    			//alert(userName);
    			xhr.open("POST","loginAction",true);
    			xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
    			//4 回调函数
    			xhr.onreadystatechange = 
    				function callBack(){
    					if(xhr.readyState == 4 && xhr.status == 200){
    						var text = xhr.responseText;
    						//alert(text);
    						//将接受到的json字符串转换成json对象
    						var data = eval("("+text+")");
    						//取出json对象里面的userNameSpan属性值赋值给id的userNameSpan的span标签
    						document.getElementById("userNameSpan").innerHTML = data.userNameSpan;
    					}
    				}
    			//模拟网络延迟效果			
    			document.getElementById("userNameSpan").innerHTML = "正在验证ing...";
    			//5 发送请求
    			var userName = document.getElementById("userName").value;
    			xhr.send("userName=" + userName);
    		}
    		//回调函数
    		
    		
    	</script>
    	
      </head>
      
      <body>
        userName:
        	<input id="userName" type="text" name="userName" onblur="check_userName()"/>
        	<span id="userNameSpan" style="color:red"></span>
       		<br/>
    	passWord:
    		<input id="passWord" type="password" name="passWord"/>
    		<br/>
      </body>
    

      xhr.js

    function getXhr(){
    	var xhr = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject();
    	return xhr;
    }
    

      LoginAction.java

    public String register(){
    		
    		//模拟网络延迟
    		try {
    			Thread.sleep(2000);
    		} catch (InterruptedException e) {
    			e.printStackTrace();
    		}
    		
    		if("yangkang".equals(userName)){
    			userNameSpan = "该用户名已经被注册";
    		}else{
    			userNameSpan = "√";
    		}
    		
    		return SUCCESS;
    	}
    
    	
    	private String userName;
    	private String passWord;
    	private String userNameSpan;
    	public String getUserName() {
    		return userName;
    	}
    	public void setUserName(String userName) {
    		this.userName = userName;
    	}
    	public String getPassWord() {
    		return passWord;
    	}
    	public void setPassWord(String passWord) {
    		this.passWord = passWord;
    	}
    	public String getUserNameSpan() {
    		return userNameSpan;
    	}
    	public void setUserNameSpan(String userNameSpan) {
    		this.userNameSpan = userNameSpan;
    	}
    

      

    <struts>
    	<package name="json" extends="json-default" namespace="/">
    		<action name="loginAction" class="com.yangkang.action.LoginAction" method="register">
    			<result type="json"></result>
    		</action>
    	</package>	
    </struts>
    

      jar包:

    ezmorph-1.0.3.jar
    json-lib-2.1-jdk15.jar
    struts2-json-plugin-2.2.3.1.jar
    commons-logging-1.1.1.jar
    freemarker-2.3.16.jar
    ognl-3.0.1.jar
    xwork-core-2.2.3.1.jar
    struts2-core-2.2.3.1.jar
    commons-beanutils-1.7.0.jar
    commons-lang-2.5.jar
    commons-fileupload-1.2.2.jar
    javassist-3.11.0.GA.jar
    commons-io-2.0.1.jar

    源码地址:http://pan.baidu.com/s/1c0EqLEg

  • 相关阅读:
    Android NumberPicker和DatePicker分割线颜色设置
    用来解析,格式化,存储和验证国际电话号码:libphonenumber
    Unbutu网卡驱动安装(Intel内置网卡8086:15b8)
    Android版本判断
    Ubuntu中、英文环境设置
    adb常用命令介绍
    Android Environment 类详解
    Android字符串相关类
    Android字符串相关类
    Android字符串相关类
  • 原文地址:https://www.cnblogs.com/toLife/p/4579622.html
Copyright © 2020-2023  润新知