2012-12-20 79 views
1

我有一個問題,當用戶按下頁面頂部的提交按鈕時,另一個jsp將加載到下面的框架/ iframe中。我使用的是Spring MVC架構,jsp由控制器決定。我應該如何讓控制器將jsp映射到iframe?對於以前的所有映射,我使用@RequestMapping註釋。通過彈簧加載框架/ iframe mvc

回答

1

我會做這個使用Javascript,例如使用jQuery你可以做一個Ajax調用時onSubmit甚至被稱爲表單上加載在你的iframe的響應(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) { 
     } 
    }); 
}); 
1

剛使用這個東西 - $(「#iFrameId」)。attr(「src」,「controller.mth」);

這樣,從控制器返回的jsp將被加載到iframe中。

+0

我很新的Ajax,Jquery。你能告訴我如何使用這個,我應該把它放在哪裏? – Madz

0

使用Spring MVC,在scriptlet中使用request.getContextPath之後,ajax url起作用。

我的控制器在此更改後接收到請求並返回jsp頁面。例如,在將append('data')更改爲append(data)之後,jsp將顯示在iframe中。請注意,刪除了數據中的引號以使其起作用。

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