现在的位置: 首页 > 综合 > 正文

Struts+Ajax+Json Demo

2017年12月11日 ⁄ 综合 ⁄ 共 1519字 ⁄ 字号 评论关闭

前几天一直在忙着实现用户注册功能,今天有空便把这几天得到经验记下来,以便使用。

一、功能要求:在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

抱歉!评论已关闭.