Java 如何将另一个JSP页面插入<;部门>;当点击链接时?

Java 如何将另一个JSP页面插入<;部门>;当点击链接时?,java,javascript,jsp,Java,Javascript,Jsp,我在JSP页面中有两个不同的分区。其中一个包含一个链接菜单,单击div2(id内容)会相应地加载不同的页面。我在做类似的事情- <div id="menu"> <ul class="navbar"> <li><a name="login" href="Login.jsp" onclick="changeContent()">Login</a> </li></div> 在剧本中我有一些东西,比

我在JSP页面中有两个不同的分区。其中一个包含一个链接菜单,单击div2(id内容)会相应地加载不同的页面。我在做类似的事情-

<div id="menu">
<ul class="navbar">
  <li><a name="login" href="Login.jsp" onclick="changeContent()">Login</a>
   </li></div>

在剧本中我有一些东西,比如-

<script language="JavaScript">
function changeContent() {
    document.getElementById('content').load('Login.jsp');
}
</script>

函数changeContent(){
document.getElementById('content').load('Login.jsp');
}
我也试过了-

document.getElementById('content').innerHTML=
"<jsp:include page="Login.jsp">"; 
document.getElementById('content').innerHTML=
""; 
这些方法都不管用。请建议我应该如何尝试jquery

function changeContent() {
    $('#content').load('Login.jsp');
}

我们使用jquery。将单击事件处理程序添加到锚元素。在click处理程序调用
$('#content').load(您的_url)。您可能需要使用
load(url,function(){…})
版本。更多信息此处

解决方案是使用Ajax,它将异步检索可使用innerHTML方法粘贴的页面内容。请参阅Ajax调用如何工作的类似问题和一些介绍性链接

至于为什么答案中的示例不起作用,在第一种情况下,元素对象上没有load()方法(除非您自己定义了一个,但没有显示)。在第二个示例中,正如一条问题注释所说,可能是某种原因导致javascript中出现语法错误

仅供参考,当网页中的某些javascript出现语法错误时,将忽略正在解析的当前表达式和块的其余部分。因为这是在函数声明中,所以永远不会定义该函数。
例如,包含页面中的嵌入引号将结束innerHTML分配的字符串。然后,javascript解析器将尝试解析HTML的其余部分,导致语法错误,因为HTML将不是有效的javascript。

您的初始页面将从服务器上下来。它由浏览器显示。单击浏览器中的链接(或按钮)时,您希望用新的HTML填充第二个div。对于AJAX请求来说,这是一个完美的工作。浏览器中的AJAX对象所做的是向服务器发送一个POST(或其他)字符串。然后Ajax对象从服务器接收HTML响应。然后,您可以在任意位置显示AJAX对象包含的响应数据。

document.getElementById('content')。load()
不会做任何事情。如果试图异步加载内容,则需要使用AJAX方法(或jQuery或其他具有快捷方式方法的专业库/框架)。最后一个“方法”可能不起作用,因为它包含双引号属性,没有在服务器端进行解析,等等。这可能行得通,但可能不是您显示的方式(例如,将登录标记放在
正文中,然后单击显示)。