struts2+jquery+ajax(json)使用

这里给一个进行输入验证的例子,大概的也很简单。

第一步:jsp页面

              

 <td>标题</td><td><input id="title" type="text" name="title" onblur="checkName(this.value)"><span id="tishi" font-color="red"></span></td>

      为输入框的失去焦点事件添加一个监听函数。

第二步:jquery

   <script type="text/javascript" src="js/jquery-1.4.2.js" ></script>
   <script type="text/javascript" >
    function checkName(username) {
    	 	document.getElementById('tishi').innerHTML = "checking...";
	        var url = "checkname";
	        var data = "username="+username;
			callback = function(value)
			{
				document.getElementById('tishi').innerHTML = value.reback;
			};
			$.ajax({
				type : "POST",
				url  : url,
				data : data,
				dataType : "json",
				success : callback
				});
	}
    
    </script>

第三步:配置struts.xml

 

<package name="ajax" extends="struts-default,json-default">
	<action name="checkname" class="DiaryAction.CheckName" >
			<result type="json" name="rebback"></result>
		</action>
	</package>

这里要十分注意,这里用到了json-default包,于是要记的导入struts2-json-plugin-2.2.3.1.jar,不然会出现编译不通过的问题。
第四步:编写action

 

package DiaryAction;

import UserDao.DBManagement;

import com.opensymphony.xwork2.ActionSupport;

public class CheckName extends ActionSupport {
	private String username;
	private String reback;
	
	public String getReback() {
		return reback;
	}

	public void setReback(String reback) {
		this.reback = reback;
	}

	public String getUsername() {
		return username;
	}

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

	@Override
	public String execute() throws Exception {
		DBManagement db = new DBManagement();
		if(db.checkName(username))
		{
			this.reback ="error";
		}
		else
		{
			this.reback = "succeed";
		}
		return "rebback";
	}
}


最终,运行程序就OK了

你可能感兴趣的:(jquery,json,exception,Ajax,struts,String)