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

时间:2014-01-09 09:08:19

标签: java javascript html struts2

我有一个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>

3 个答案:

答案 0 :(得分:1)

您需要使用动态包含才能使其正常工作

<jsp:include page="..." />

答案 1 :(得分:0)

您不能在客户端将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);
          }
     });  
}

答案 2 :(得分:0)

由于您已使用 struts 标记了您的问题,因此struts为您提供了一种非常真实且正确的方法,可以将一个jsp包含到另一个jsp中,并且一次只包含一个jsp。这tutorial将正确指导。我已经广泛使用它,甚至拖放!从一页到另一页:)