您的位置:首页 > 编程语言 > Java开发

Struts+Ajax+Json Demo

2013-06-14 19:37 288 查看
前几天一直在忙着实现用户注册功能,今天有空便把这几天得到经验记下来,以便使用。

一、功能要求:在Struts2框架下使用Ajax,用户填写注册信息时,在不进行页面跳转的情况下给予用户名或者ID重复的提示。

二、环境配置:在已搭建Struts2框架的基础上,引入Jar包:json-lib-2.3-jdk15.jar、struts2-json-plugin-2.3.14.jar,引入JQuery类库

三、页面JSP代码:

<tr>
						<td width="77">
							账号: 
						</td>
						<td width="322">
							<input type="text" name="account" id="account" />
						</td>
						<td id="accountTip"></td>
					</tr>
四、JS代码:

$.ajax({
						
								url : "check/checkName",     // 后台处理程序,对应Action
								type : "post", 		     // 数据发送方式								
								dataType : "json",  	     // 接受数据格式								
								data : "userName="+$("#account").val(),   // 要传递的数据
								// 回传函数
					             timeout:20000,			     // 设置请求超时时间(毫秒)。   
					             error: function () {   		     //请求失败时调用函数。   
					            	     $("#msg").html("请求失败!"); 
					             },   
					             success:function(dataObj){    //请求成功后回调函数。
							     if(dataObj.message == "0" ){
								    $("#accountTip").html("用户名已存在!");
							     }else if(dataObj.message == "1"){
							            $("#accountTip").html("用户名可用");    
							     }
						     }
								
						});//$.ajax({


五、Struts.xml

<package name="check" namespace="/check" extends="json-default" >	    	
		    	<action name="checkName" class="com.register.UsingAjax" method="checkName">
		    		<result type="json"></result>
		    	</action>
	    </package>


六、Java代码

package com.register;
			
			import com.opensymphony.xwork2.ActionSupport;
			
			public class UsingAjax extends ActionSupport{
			
				private String userName;
				private String message;
			
				public String checkName() {
			
					String name = this.userName;
					if (localUtil.verifyName(name))
						message = "0";
					else
						message = "1";
			
					return SUCCESS;
				}
			
				public String getMessage() {
					return message;
				}
			
				public void setMessage(String message) {
					this.message = message;
				}
			
				public String getUserName() {
					return userName;
				}
			
				public void setUserName(String userName) {
					this.userName = userName;
				}
			
			}

七、效果图:





八、注意事项:

其中jquery-2.0.0.min.js在使用时仍存在bug,对于chrome与firefox支持良好,但对IE9仍然存在以下问题:




解决方法:使用稳定的jquery-1.10.1.min.js
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: