如何发送Jsp作为响应ajax调用

时间:2010-07-21 08:57:02

标签: java javascript ajax spring-mvc

我想发送一个jsp页面,其中包含一些div和table作为弹簧框架工作的ajax响应的一部分,有没有办法发送jsp作为ajax调用的响应

2 个答案:

答案 0 :(得分:3)

通过AJAX发送JSP毫无意义,它基本上是由JSP生成的HTML,通过AJAX发送到浏览器,正如最后一点所指出的那样。

您不需要任何服务器端编码。您所需要的只是在客户端编写一些javascript以异步接收HTML。为此,我建议使用一些像jQuery这样的javascript框架,否则会让你的生活变得地狱。

假设您要通过AJAX访问的网页包含 http://domain:port/mypage.htm 链接。首先,您需要在基础JSP(前一页必须通过AJAX加载的JSP)中包含jQuery:

<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);
                        }
                    });
});

希望它有所帮助!

答案 1 :(得分:0)

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

您可以使用jsp生成所需的元素作为一种不完整的HTML片段,然后从服务器端处理程序返回。然后在您的javascript回调中,您可以将片段插入到现有的HTML中,如此

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