Struts中ajax的实现

首先:是实现的道理和从服务器下载资源文件一样都是以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的源码中可以看到
 
 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。