go統一使用}作為左右標籤,沒有其它的標籤符號。
使用"."來訪問當前位置的上下文,使用"$"來引用當前模板根級的上下文,使用$var來訪問建立的變數。
} // 一般 string} // 原始 string
} // byte
} // nil 也被支援
可以是上下文的變數輸出,也可以是函式通過管道傳遞的返回值。
}
當pipeline的值等於:
那麼這個pipeline被認為是空。
(1)if...else...end
}}
if判斷時,pipeline為空時,相當於判斷為false
this.data["islogin"] = truethis.data["ishome"] = true
this.data["isabout"] = true
支援巢狀的迴圈
}} }}
}
也可以使用else if進行
}}}}
(2)range...end 內迴圈
}}}
pipeline 支援的型別為 array, slice, map, channel
range 迴圈內部的.
改變為以上型別的子元素
對應的值長度為 0 時,range 不會執行,.
不會改變
pages := struct , , }this.data["total"] = 100
this.data["pages"] = pages
使用.num
輸出子元素的 num 屬性,使用$.
引用模板中的根級上下文
}} of }
}
使用建立的變數,在這裡和 go 中的 range 用法是相同的。
}} - } - } of }
}
range 也支援 else
}} }
}
(3)with...end
}}
with 用於重定向 pipeline
}}}
也可以對變數賦值操作
}}}
with 也支援 else
}} }
}
(4)define
define 可以用來定義自模板,可用於模組定義和模板巢狀
}}}
使用 template 呼叫模板
(5)template
}
將對應的上下文 pipeline 傳給模板,才可以在模板中呼叫
}
beego 會依據你設定的模板路徑讀取 head.html
在模板中可以接著載入其他模板,對於模板的分模組處理很有用處
允許多行文字注釋,不允許巢狀
}
變數可以使用符號|在函式間傳遞
}}
使用括號
}
(1)and
}
and 會逐一判斷每個引數,將返回第乙個為空的引數,否則就返回最後乙個非空引數
(2)call
}
call 可以呼叫函式,並傳入引數
呼叫的函式需要返回 1 個值 或者 2 個值,返回兩個值時,第二個值用於返回 error 型別的錯誤。返回的錯誤不等於 nil 時,執行將終止。
(3)index
index 支援 map, slice, array, string,讀取指定型別對應下標的值
this.data["maps"] = map[string]string}
(4)len
}
返回對應型別的長度,支援型別:map, slice, array, string, chan
(5)not
not 返回輸入引數的否定值,if true then false else true
(6)or
}
or 會逐一判斷每個引數,將返回第乙個非空的引數,否則就返回最後乙個引數
(7)print
對應 fmt.sprint
(8)printf
對應fmt.sprintf
(9)pfintln
對應fmt.sprintf
(10)urlquery
}
將返回
http%3a%2f%2fbeego.me
(11)eq / ne / lt / le / gt / ge
這類函式一般配合在 if 中使用
eq
: arg1 == arg2
ne
: arg1 != arg2
lt
: arg1 < arg2
le
: arg1 <= arg2
gt
: arg1 > arg2
ge
: arg1 >= arg2
eq 和其他函式不一樣的地方是,支援多個引數,和下面的邏輯判斷相同
arg1==arg2 || arg1==arg3 || arg1==arg4 ...
與 if 一起使用
}}}}
beego內建的模板函式
目前beego內建的模板函式有如下 在.html檔案中可以直接使用的函式。markdown 實現了把markdown文字轉化為html資訊,使用方法 dateformat 實現了時間的格式化,返回字串,使用方法 date 實現了類似php的date函式,可以很方便的根據字串返回時間,使用方法 com...
discuz discuz模板語法
discuz x 模板的解析主要是 source class class template.php 檔案解析處理的,如果需要深入了解請可以看看這個檔案!將被巢狀模板內容解析為 php 語句並合併入本模板中的寫法 common header 對應某個模板套系中的 common 目錄的 header.h...
django 模板語法
顯示的資料必須是後端view.py傳輸的資料 名字 1.普通輸出 2.for 迴圈 3.if 判斷 forloop.counter 索引從 1 開始算 forloop.counter0 索引從 0 開始算 forloop.revcounter 索引從最大長度到 1 forloop.revcounte...