理論上你能夠在EasyjWeb模板使用全部Velocity的腳本及功能,但咱們不推薦你在界面模板中使用過多過複雜的腳本表達方式,在萬不得已的狀況下,不要在界面模板中加入任何複雜的邏輯,更不要在界面模板中加入變量聲明、邏輯運算符等等。 在EasyJWeb中,咱們提供了五條基本的模板腳本語句,基本上就能知足全部應用模板的要求。這四條模板語句很簡單,能夠直接由界面設計人員來添加。在當前不少EasyJWeb的應用實踐中,咱們看到,全部界面模板中概括起來只有下面四種簡單模板腳本語句便可實現: 一、$!obj 直接返回對象結果。 如:在html標籤中顯示java對象msg的值。<p>$!msg</p> 在html標籤中顯示通過HtmlUtil對象處理事後的msg對象的值 <p>$!HtmlUtil.doSomething($!msg)</p>函數 二、#if($!obj) #else #end 判斷語句 如:在EasyJWeb各類開源應用中,咱們常常看到的用於彈出提示信息msg的例子。 #if($msg) <script> alert('$!msg'); </script> #end 上面的腳本表示當對象msg對象存在時,輸出<script>等後面的內容。oop 三、#foreach( $info in $list) $info.someList #end 循環讀取集合list中的對象,並做相應的處理。 如:EasyJF開源論壇系統中論(0.3)壇首頁顯示熱門主題的html界面模板腳本: #foreach( $info in $hotList1) <a href="/bbsdoc.ejf?easyJWebCommand=show&&cid=$!info.cid" target="_blank">$!info.title</a><br> #end 上面的腳本表示循環遍歷hotList1集合中的對象,並輸出對象的相關內容。
四、#macro(macroName)#end 腳本函數(宏)調用,不推薦在界面模板中大量使用。 如:在使用EasyJWeb Tools快速生成的添刪改查示例中,能夠點擊列表的標題欄進行升降排序顯示,這是咱們在EasyJWeb應用中常常看到的一個排序狀態顯示的模板內容。 函數(宏)定義,通常放在最前面 #macro(orderPic $type) #if ($orderField.equals($type)) <img src="http://images.cnblogs.com/ico/${orderType}.gif"> #end #end 具體的調用如:<font color="#FFFFFF">頭銜#orderPic("title")</font>測試 通過測試,宏不支持方法重載網站 五、包含文件#inclue("模板文件名")或#parse("模板文件名") 主要用於處理具備相同內容的頁面,好比每一個網站的頂部或尾部內容。 使用方法,能夠參考EasyJF開源Blog及EasyJF開源論壇中的應用! 如:#parse("/blog/top.html")或#include("/blog/top.html") parse與include的區別在於,若包含的文件中有Velocity腳本標籤,將會進一步解析,而include將原樣顯示。spa |