通过spring mvc加载框架/iframe



我遇到一个问题,当用户按下页面顶部的提交按钮时,另一个jsp会在下面的框架/iframe中加载。我使用Spring MVC架构,jsp由控制器决定。我应该如何使控制器映射jsp到iframe?对于之前的所有映射,我都使用了@RequestMapping注释。

我会这样做使用Javascript,例如与JQuery你可以做一个ajax调用时,onSubmit甚至被调用在你的表单加载响应(html内容):

$('form').submit(function() {
    jQuery.ajax({
        type : 'POST',
        data : jQuery(this).serialize(),
        url : '/post_action',
        success : function(data, textStatus) {
            jQuery('#iframeId').contents().find('body').append('data');
        },
        error : function(XMLHttpRequest, textStatus, errorThrown) {
        }
    });
});

就用这个东西——$ (" # iFrameId")。attr("src"、"controller.mth");

这样从控制器返回的JSP将被加载到iframe中。

使用Spring MVC,在scriptlet中使用request.getContextPath后,ajax url工作。

我的控制器在此更改之后接收请求并返回jsp页面。然后jsp在示例中将append('data')更改为append(data)后显示在iframe中。注意,删除了data中的引号以使其工作。

function openPage() {
  jQuery.ajax({
     type : 'POST',
     data : jQuery(this).serialize(),
     url : '<%=request.getContextPath()%>/post_action',
     success : function(data, textStatus) {
     jQuery('#iframeId').contents().find('body').append(data);
     },
     error : function(XMLHttpRequest, textStatus, errorThrown) {
     }
  });
}

相关内容

最新更新