首先:是实现的道理和从服务器下载资源文件一样都是以Stream流的方式返回到客户端
I:客户发送一个ajax请求
var url = "UserAction_validateEmail.action" ;
var args = {"email":val, "time" : new Date(), "type": "reg"};
$.post(url, args,
function(data){
$( "#emailmsg").empty().html(data);
});
II:在服务器端进行验证信息请求
//ajax请求返回流
private InputStream inputStream;
public InputStream getInputStream() {
return inputStream ;
}
public String validateEmail(){
try {
inputStream =new ByteArrayInputStream("Email可以使用" .getBytes("utf-8"));
} catch (Exception e) {
e.printStackTrace();
}
return "validateEmail_success" ;
}
III:在Struts.xml配置文件中进行配置
<action name= "UserAction_*" class ="userAction" method="{1}" >
<result name= "validateEmail_success" type="stream" >
<param name="contentType" >text/ html</ param>
<param name="inputName" >inputStream </param>
</result>
</ action>
以上的原理和文件下载一样:可以从type ="stream" 对象的返回类型 StreamResult的源码中可以看到