Writer :BYSocket(泥沙磚瓦漿木匠) css
什麼是模板語言? html
模板語言是爲了使用戶界面與業務數據(內容)分離而產生的,並能生成特定格式的文檔。 git
什麼是TinyTemplate?(開源項目地址入口) github
Tiny模板引擎是一個基於Java技術構建的模板引擎,它具備體量小、性能高和擴展易的特色。 適合於全部經過文本模板生成文本類型內容的場景,如:XML、源文件、HTML等等,能夠說,它的出現就是爲了替換Velocity模板引擎而來,所以在指令集上在儘可能與Velocity接近的同時,又擴展了一些Velocity不能很好解決問題的指令與功能,在表達多方面則儘可能與Java保持一致,因此很是地易學易用。 app
1. 體量小表如今總共不到5000多行的代碼,去掉解析器近1000行,核心引擎只有4000多行代碼。 框架
2. 性能高表如今與如今國內幾款高性能模板引擎如:Jetbrick、Webit等引擎的性能相比,近乎伯仲之間,可是比Velocity、Freemarker等則有長足的進步,效率大體是Velocity四倍。 socket
3. 擴展性表如今Tiny框架引擎的全部環境均可以自行擴展,並與原有體系進行良好統一。 maven
4. 易學習表如今Tiny框架概念清晰、模塊劃分科學、具備很是高的高內聚及低耦合。 函數
5. 使用方式靈活表如今,能夠多例方式、單例方式,並能夠與Spring等有良好集成。 佈局
6. 友好的錯誤提示信息。
簡要特色介紹:
1. 相似於 Velocity 的指令方式,相同或類似指令達90%左右
2. 支持可變參數方法調用
3. 支持類成員方法重載
4. 支持函數擴展
5. 採用弱類型方式,對於模板層的代碼編寫約束更小,模型層怎樣變化,模板層的代碼調整都很是容易
6. 支持宏定義#macro
7. 支持佈局#layout
1. 新建一個quickstart.servlettemplate maven項目
在Eclipse中,new — Maven Project — 「maven-archetype-quickstart「 …
在pom.xml添加對tinyTemplate的依賴:
<!-- 模板引擎對servlet的擴展依賴 --> <dependency> <groupId>org.tinygroup</groupId> <artifactId>org.tinygroup.templateservletext</artifactId> <version>2.0.26</version> </dependency>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!--[if IE 7 ]> <html class="no-js ie ie7 lte7 lte8 lte9" lang="en-US"> <![endif]--> <!--[if IE 8 ]> <html class="no-js ie ie8 lte8 lte9" lang="en-US"> <![endif]--> <!--[if IE 9 ]> <html class="no-js ie ie9 lte9" lang="en-US"> <![endif]--> <!--[if (gt IE 9)|!(IE)]><!--> <html class="no-js" lang="en-US"> <!--<![endif]--> <html lang="en"> <head> <meta charset="utf-8"/> <title>${pageTitle}</title> <script> var contextPath = "${TINY_CONTEXT_PATH}"; var CKEDITOR_BASEPATH = contextPath+'/ckeditor/'; /* jQuery.fn.outerHTML = function(s) { return (s) ? this.before(s).remove() : jQuery("p").append(this.eq(0).clone()).html(); } */ </script> <link rel="shortcut icon" href="${TINY_CONTEXT_PATH}/icon/logo.png"> #if(DEBUG_MODE && DEBUG_MODE=="true") #foreach(component in uiengine.getHealthUiComponents()) <!--UI component $component.name start --> #if(component.cssResource) #set(resources=component.cssResource.split(",")) #foreach(path in resources) #set(path=path.trim()) #set(newPath=path.replaceAll("[$][{]TINY_THEME[}]","${TINY_THEME}")) <link href="${TINY_CONTEXT_PATH}${newPath}" rel="stylesheet" /> #end #end #if(component.jsResource) #set(resources=component.jsResource.split(",")) #foreach(path in resources) #set(path=path.trim()) <script src="${TINY_CONTEXT_PATH}${path}"></script> #end #end #if(component.jsCodelet) <script> $!{component.jsCodelet} </script> #end #if(component.cssCodelet) <style> $!{component.cssCodelet} </style> #end #end #else <link href="${TINY_CONTEXT_PATH}/uiengine.uicss" rel="stylesheet" /> <script src="${TINY_CONTEXT_PATH}/uiengine.uijs"></script> #end </head> <body> #pageContent </body> </html>
${name},歡迎來到Tiny的世界! 時間:${date}
一、TinyTemplate的簡介與特色
二、TinyTemplate與Servlet的配置(下一講與SpringMVC的配置)
三、TinyTemplate最簡單的也是最經常使用的取值語法${}
歡迎點擊個人博客及GitHub — 博客提供RSS訂閱哦!
———- http://www.bysocket.com/ ————- https://github.com/JeffLi1993 ———-
微 博:BYSocket 豆 瓣:BYSocket FaceBook:BYSocket Twitter :BYSocket