1

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

4

3 回答 3

1

我会使用 Javascript 执行此操作,例如使用 JQuery,您可以onSubmit在表单上调用 even 以在 iframe 中加载响应(html 内容)时执行 ajax 调用:

$('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) {
        }
    });
});
于 2012-12-21T00:55:44.757 回答
1

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

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

于 2012-12-21T19:42:10.087 回答
0

使用 Spring MVC,我request.getContextPath在 scriptlet 中使用后,ajax url 就可以工作了。

我的控制器收到此更改后的请求并返回 jsp 页面。append('data')在将示例更改为之后,jsp 然后显示在 iframeappend(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) {
     }
  });
}
于 2016-06-10T09:26:30.423 回答