在同一页面上显示页面数据,而不转发到另一页面。

| 在我的网页中(例如Link1:http:// localhost:8086 / MyStrutsApp / login.do),我有几个链接。当用户单击其中一个链接时,他将被带到另一个页面(例如link2:http:// localhost:8086 / MyStrutsApp / AddBook.jsp)以填写html表单。 现在,我要实现的是,当任何用户单击链接时,该html表单(Link2)就会显示在同一页面(即Link1)上。 我不知道如何实现这一目标。     
已邀请:
        实现此目的的AJAX方法如下: 您在原始页面上有一个DIV将被替换(即,其内容仅在原始上下文中才有意义或完全为空) 您的Link2 Servlet仅产生上述DIV的内容(而不是该页面的内容) 您只需使用少量Javascript进行AJAX调用,然后在DIV中填充响应即可。 如果要使用Dojo,HTML页面将如下所示:
<!-- main content -->
<div id=\"leftpanel\">
    <h3>This content will be replaced</h3>
    You can <a href=\"#\" onClick=\"updateFromURL(\'/MyStrutsApp/AddBook.jsp)\">add a book</a>
</div>
Javascript代码如下所示:
<script src=\"http://ajax.googleapis.com/ajax/libs/dojo/1.6/dojo/dojo.xd.js\" type=\"text/javascript\"></script>
<script type=\"text/javascript\">
function display_wait(s) {
  var mainPanel=dojo.byId(\"leftpanel\");
  mainPanel.innerHTML=\'<div class=\"waitingmsg\">\'+s+\'</div>\';
}

function updateFromURL(url) {
    display_wait(\"loading content\");
    dojo.xhrGet({url:url,
                load:function(result) {
                dojo.byId(\'leftpanel\').innerHTML=result;
            }});
}
</script>
(如Rafa所述,您可以使用相同的技术在对话框中显示新零件)     
        您始终可以使用jQuery来显示对话框... http://jqueryui.com/demos/dialog/ 使用AJAX检索页面并将其显示在对话框中。     
        要在另一页面中显示一页,请使用
iframe
。请参阅iframe文档。 要在外部页面上建立链接,请将其目标页面加载到
iframe
中,为
iframe
提供
name
属性,并为链接提供匹配的
target
属性。     

要回复问题请先登录注册