这里给一个进行输入验证的例子,大概的也很简单。
第一步:jsp页面
<td>标题</td><td><input id="title" type="text" name="title" οnblur="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了