2010-07-21 72 views
3

我想发送一个包含一些div和表的jsp页面作为来自弹簧框架工作的Ajax响应的一部分,有没有什么方法可以发送jsp作为Ajax调用的响应如何发送Jsp作为对Ajax调用的响应

+3

我想通过JSP你实际上是指由JSP生成的HTML。 – thelost 2010-07-21 09:01:39

回答

0

是的,有什么神奇的这个虽然。在你的java ajax处理程序中,只需返回一个前向或重定向到你想要的jsp页面。该响应将作为ajax回调中的responseText提供。

您可以使用JSP生成只需要为一种不完整的HTML片段,然后从你的服务器端处理返回此元素。然后,在JavaScript回调可以插入片段到现有的HTML likeThis

element.innerHTML = resp.responseText 
//element is the parent you want to insert to 
//resp is the parameter supplied to your callback 
3

通过AJAX发送JSP是没有意义的,它基本上是由通过AJAX发送到浏览器中的JSP生成的HTML,如正确地指出了失败。

你不需要这方面的任何服务器端的编码。所有你需要的是在客户端写一些JavaScript来异步接收你的HTML。对于这一点,我会建议使用像jQuery一些JavaScript框架,否则就会让你的生活地狱。

假设您要通过AJAX访问的页面有链接http://domain:port/mypage.htm。首先,你需要包括jQuery的在你的基地,JSP(JSP其中前者页面已经通过Ajax加载):

<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.js"></script> 

然后你需要调用jQuery的AJAX功能:

$(document).ready(function(){ 
    $.ajax({ 
         type:"GET", 
         url: "http://domain:port/mypage.htm", 
         success: function(data){ 
          // Now you have your HTML in "data", do whatever you want with it here in this function   
          alert(data); 
         } 
        }); 
}); 

希望它能帮助!

+0

也可以考虑使用$ .load(),如果您试图用AJAX代替部分代码,与JSP结合使用,您甚至可以填充模型并在AJAX JSP中使用该模型。其实,我有一个名为AJAX,我的JSP文件夹中的文件夹,以证明这些JSP的不应该由自己来渲染,而是作为其他页面的一部分 – walnutmon 2010-07-21 21:04:23