1

ユーザーがページの上部にある送信ボタンを押すと、別の jsp が下のフレーム/iframe に読み込まれるという問題があります。Spring MVC アーキテクチャを使用しており、jsp はコントローラーによって決定されます。コントローラーでjspをiframeにマップするにはどうすればよいですか? 以前のすべてのマッピングでは、@RequestMapping アノテーションを使用しました。

4

3 に答える 3

1

私は Javascript を使用してこれを行います。たとえば、JQuery を使用するonSubmitと、フォームでイベントが呼び出されたときに ajax 呼び出しを実行して、応答 (html コンテンツ) を iframe にロードできます。

$('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 では、スクリプトレットで使用した後に ajax URL が機能しましたrequest.getContextPath

私のコントローラーは、この変更後にリクエストを受け取り、jsp ページを返します。jsp は、例でappend('data')toを変更した後、iframe に表示さappend(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 に答える