Javascript 将div的innerHTML替换为<;jsp:include>; 函数加载形式(){ 警报(“hai”); document.getElementById(“divid”).innerHTML=“”; }

Javascript 将div的innerHTML替换为<;jsp:include>; 函数加载形式(){ 警报(“hai”); document.getElementById(“divid”).innerHTML=“”; },javascript,jsp,Javascript,Jsp,在这里,jsp:include正在处理页面加载本身。。。。谁能说出原因吗?如何在单击时加载它?答案是您不能,因为在html和JS返回到客户端之前,jsp代码是在服务器上处理的。一旦呈现出来,您就不能再处理JSP代码了 要与服务器通信,需要使用Ajax 或者,您可以使用IFrame加载另一个页面的内容。您必须使用jQuery.ajax()。让我猜一下:当在javascript上下文中时,JSP标记不会转换为HTML。充其量,它需要一些逃避。浏览器不会理解@AVD不太懂,还有一种替代方法叫做代码注入

在这里,jsp:include正在处理页面加载本身。。。。谁能说出原因吗?如何在单击时加载它?

答案是您不能,因为在html和JS返回到客户端之前,jsp代码是在服务器上处理的。一旦呈现出来,您就不能再处理JSP代码了

要与服务器通信,需要使用Ajax


或者,您可以使用IFrame加载另一个页面的内容。

您必须使用
jQuery.ajax()
。让我猜一下:当在javascript上下文中时,JSP标记不会转换为HTML。充其量,它需要一些逃避。浏览器不会理解
@AVD不太懂,还有一种替代方法叫做代码注入(不是很好)。@JanDvorak OP想要请求一个页面,并在单击时填写
div
。@AVD然后代码注入就不会真正加载任何内容。我的错。
function loadForm() {
    alert("hai");
    document.getElementById("divid").innerHTML="<jsp:include page='publisherform.jsp'></jsp:include>";
}

<a name="publisher" href=# onclick="loadForm()" >PublisherManagement</a>