回答
它們彼此反相。
doLayout
用作extends
標記的一部分。擴展標籤指定您希望擴展哪個模板,並且doLayout
標籤指定您的代碼在擴展模板中的注入位置。
include
標記只是簡單地指定應在指定的點注入另一個模板。
所以,doLayout以類似的方式工作,除了doLayout標籤沒有指定要注入哪個模板。這是通過extends標籤完成的,並且意味着模板(通常包含頁眉,頁腳和常用css和javascript)可以進行擴展,而不需要了解擴展模板的任何信息。
Include
,只是代碼的啞注入。
如果你想實現的doLayout功能與包括(這是你會做它在PHP或類似的東西的方式),你可以做
#{include 'header.html'}
your template code
#{include 'footer.html'}
這將對每個頁面上被複制在您的模板中。而使用extends
和doLayout
可以讓你簡單地做
#{extends 'template.html'}
一個你的代碼注入到template.html通過的doLayout標籤管理。
擴展的方法是一個簡單的方法。此外,如果您決定更改頁面佈局,則只需更新一個文件,併爲內容位於擴展模板內的位置提供更大的靈活性。
從google-group我注意到extends (doLayout), include and a tag
之間的差異:
延伸,包括都差不多,差別主要在你 繞過變量
運用擴展,父模板提供了樣板路,並且孩子 模板提供了「身體」。例如,父模板可以呈現 頁眉和頁腳,並且子模板可以呈現頁面的主要內容 。通常,您可以在孩子的模板變量被讀取 和父模板如#{set title:'Pet shop' /}
或#{set showLoginBox:true /}
可以使用包括當你想要做一個 單親模板內同樣的事情多次應用。例如, #{include 'formStatusFields.html' /}
父模板中的變量可用於包含的模板。
如果您有一段從多個 不同的父模板執行的模板代碼,則應使用標記。您可以將變量傳遞給 標籤。例如 #{button label:'Ok', id:'ok-button'}
- 1. 什麼是產量和包含的模板之間的區別
- 2. ActiveQt包含哪些模塊?
- 3. Hibernate模板和JDBC模板的區別
- 4. Java Play 2 - 模板
- 5. Sencha Touch中doLayout()和doComponentLayout()之間的區別?
- 6. ERD中包含和包含關係的區別?
- 7. wpf中控制模板和數據模板之間的區別
- 8. Kentico中門戶模板和ASPX模板的區別
- 9. %(模數)和/(分)在java中的區別?
- 10. WHMCS中包含Drupal模板?
- 11. ADO.NET包含哪些技術?
- 12. 龍捲風模板和Jinja2的區別
- 13. 模板include和jquery.load之間的區別?
- 14. doLayout()和ActionListener問題
- 15. 包含標籤和包含函數有什麼區別?
- 16. 類或實例的`__dict__`包含哪些屬性,哪些不包含?
- 17. 在每個日誌級別包含哪些信息?
- 18. decodebin中包含哪些元素?
- 19. Nib文件中包含哪些對象?
- 20. 項目模板和版面模板之間的區別
- 21. Autotools發佈中包含哪些文件
- 22. 「play compile」和「sbt compile」之間的區別
- 23. Aurelia:模板。包含另一個模板
- 24. 包含knockout.js的jquery.tmpl模板?
- 25. Smarty3塊包含的模板
- 26. 模板功能區別
- 27. CanExecute中應該包含哪些內容?
- 28. 這些javascript包含的定義是否有區別
- 29. 除了佔位符替換模板系統應包含哪些其他功能?
- 30. Java包:`oracle.AQ`和`oracle.jdbc.aq`有什麼區別?