应用场景:用户注册时在 文本输入框中输入用户名,在用户输入完之后,判断数据库中是否存在该用户名。在这个情景下,服务器只要简单的返回true
或者false
。
Java Action中书写:
/*
* 用于Ajax
*/
private InputStream inputStream;
public InputStream getInputStream() {
return inputStream;
}
private String name;
public void setName(String name) {
this.name = name;
}
public String validateName() throws UnsupportedEncodingException {
boolean f = employeeService.isNameValidate(name);
System.out.println(f);
inputStream = new ByteArrayInputStream((f?"1":"0").getBytes("UTF-8"));
return "ajax-success";
}
Struts2.xml文件中配置:
<result type="stream" name="ajax-success">
<param name="contentType">text/html</param>
<param name="inputName">inputStream</param>
</result>
前端:
//发送AJAX请求
var url = "emp-validateName.action";
var args = {"name":val, "time":new Date()};
$.post(url, args, function(data){
if(data=="1"){
$this.after("<font color='green'>名称可用</font>");
}else if(data="0"){
$this.after("<font color='red'>名称不可用</font>");
}else{
alert("服务器异常");
}
});