如何将一个 JSP 包含在另一个 JSP 中



我有一个 jsp 页面,在我的索引页面 pages.in 有 5 个其他页面,中间有一个特殊的div,我想在单击按钮时加载其他 4 个页面。根据单击的按钮,特定页面将加载到索引页面的div 中。我在这里要做的是通过单击按钮在主页的div 页面中加载所有上述页面。我尝试了几种方法,但我还没有真正弄清楚如何解决这个问题。在我的索引页面中,特殊div有一个flash文件在播放,我有几个按钮,其中一个是产品按钮,当我单击产品按钮时,希望特殊div加载产品.jsp。相反,当我加载项目时,产品.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 中包含 JSP,因为它是一种服务器端技术。在将页面发送到客户端之前,包含已经发生在服务器端。

你可以使用 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 中,并且一次也不止一个。本教程将正确指导。我已经广泛使用它,甚至用于拖放!从一个页面到另一个:)

最新更新