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的源码中可以看到
 
 
posted @ 2015-04-07 13:40  山寨少主  阅读(132)  评论(0)    收藏  举报