jsp動態include與靜態include區別

來源:互聯網
上載者:User

答:動態INCLUDE用jsp:include動作實現

<jsp:include page="included.jsp" flush="true" />它總是會檢查所含檔案中的變化,適合用於包含動態網頁面,並且可以帶參數


 <%@ include file="included.htm" %> 靜態INCLUDE用include偽碼實現,定不會檢查所含檔案的變化,適用於包含靜態頁面


1. 靜態include的結果是把其他jsp引入當前jsp,兩者合為一體
    動態include的結構是兩者獨立,直到輸出時才合并( 看看jsp產生的java檔案就可以知道了)

2.正是因為這樣,動態include的jsp檔案獨立性很強,是一個單獨的jsp檔案,需要使用的對象,版面設定,都必須有自己建立,當然,還好它和include它的頁面的request範圍是一致的.


最後看老q外寫的


When you use <jsp:include>, it executed the target in a separate request, and then includes the output in the including JSP. It doesn’t include the source of the included target, it includes the output. The means by which that target output is generated is lost.

To do what you’re trying to do, you need to use <% include %> directives:

<%@ include file="/WEB-INF/jsp/include/header.jsp" %>This will incline the literal text of header.jsp into your page. Of course, by doing that, you can no longer pass parameters to it, so you’d need to set that as a page context attribute (e.g. using <c:set>… but of course you can’t use <c:set> until you’ve done your include…).

Essentially, it’s not really worth the hassle. Taglib declarations are annoying boilerplate, but hard to get rid of.

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.