我有一个jsp页面,其他5个页面。在我的索引页面中,我在中间有一个特殊的div,我想在点击一个按钮时加载其他4个页面。根据单击的按钮,特定页面将加载到索引页面中的div中。我想要做的是在主页的div页面中点击按钮加载所有页面。我尝试了几种方法,但我还没弄清楚如何解决这个问题。在我的索引页面中,特殊div有一个flash文件播放,我有几个按钮,其中一个是产品按钮,当我点击产品按钮想要特殊div加载product.jsp。相反,当我加载项目时,product.jsp与索引页一起加载。我试过这个
<form action="workspace">
<object id="swf" data="test.swf" type="application/x-shockwave-flash" >
<param name="movie" value="test.swf">
<p>You need Adobe Flash Player to view this content</p>
</object>
<div id="workspaceproducts" class="panel" style="display:hidden;">
<%@ include file="products.jsp" %>
</div>
</form>
<script>
$('#products').click(function(){
$('#workspace').load(document.getElementById("workspaceproducts").style.display="block");
});
</script>
您需要使用动态包含才能使其正常工作
<jsp:include page="..." />
您不能在客户端将div包含在div中,因为它是服务器端技术。在将页面发送到客户端之前,已经在服务器端发生了包含。
您可以使用Ajax在div中加载JSP页面。
例如 :
<input type="button" onclick="loadPage('JspFileName.jsp')" />
function loadPage(fileName)
{
$.ajax({
type: "POST",
url: fileName,
cache: true,
success: function(response) {
$('#workspace').html(response);
}
});
}
由于您使用struts标记了您的问题,因此struts为您提供了一种非常真实和正确的方法,可以将一个jsp包含在另一个jsp中,并且一次只包含一个jsp。这个tutorial将正确指导。我已经广泛使用它,甚至拖放!从一页到另一页:)