1.表示式
* 算術運算: + - * / % ++ --
* 比較運算: > >= < <= == != (基本用法相同,後面會介紹增強部分)
* 邏輯運算: ! && ||
* 三元表示式: ? :
* null 值常量: null
* 字串常量: "jfinal club"
* 布林常量:true false
* 數字常量: 123 456f 789l 0.1d 0.2e10
* 陣列訪問:array[i] (map被增強為額外支援 map[key]的方式取值)
* 屬性取值:object.field (map被增強為額外支援map.key 的方式取值)
* 方法呼叫:object.method(p1, p2…, pn) (支援可變引數)
* 逗號表示式:123, 1>2, null, "abc", 3+6 (逗號表示式的值為最後乙個表示式的值)
* 模板安全呼叫: ? // #@name ? (p1, p2…, pn) (指當模板函式未定義時不做任何操作)
2.方法呼叫 :#()
#("abcde".substring(0, 3))
#(girl.getage())
#(list.size())
#(map.get(key))
3.空合併安全取值呼叫操作符,設定預設值
seotitle ?? "預設值"
object.field ??
object.method() ??
特別注意:
?? 操作符的優先順序 高於數學計算運算子:+、-、*、/、%,
低於單目運算子:!、++、--
例如:a.b ?? && expr === (a.b ??) && expr
#if(user && user.id == x.userid) ==> if (user.id ?? == x.userid)
4.定義表示式
// map 定義取值
#set(map = )
#(map.k1)、#(map.k2)、#(map["k1"])、#(map["k2"])、#(map.get("k1"))
#(.get(1))
// 陣列定義取值
#set(array = [123, "abc", true])
#(array[1])、#(array[1] = false, array[1])
// 範圍陣列定義
#for(x : [1..10])
#(x)
#end
5.逗號表示式 : 輸出最後一位數值
1+2, 3*4 // 12
6.指令
1.輸出指令: #()
2.#if
#if(c1)
...#else if(c2)
...#else
...#end
3.#for
#for(x : list)
#(x.field)
#else
for指令迭代次數為0時預設輸出
#end
4.#switch
#switch (month)
#case (1, 3, 5, 7, 8, 10, 12)
#(month) 月有 31 天
#case (2)
#(month) 月平年有28天,閏年有29天
#default
月份錯誤: #(month ?? "null")
#end
5.#set:set指令只接受賦值表示式,以及用逗號分隔的賦值表示式列表
#set(x = 123)
#set(a = 1, b = 2, c = a + b)
#set(map["key"] = 456)
6.#include:將外部模板內容包含進來,被包含的內容會被解析成為當前模板中的一部分進行使用
#include("sidebar.html")
7.#render: #render(temp:任何表示式)
8.#define: #define name()
9.模板引用: #@name()
10.#call:
#call(funcname, p1, p2, ..., pn)
#call(true, funcname, p1, p2, ..., pn) // 模板函式不存在時忽略其呼叫
11.#date
#date(account.createat)
#date(account.createat, "yyyy-mm-dd hh:mm:ss")
12.#number
#number(3.1415926, "#.##")
#number(0.9518, "#.##%")
#number(300000, "光速為每秒,### 公里。")
13.#escape : 轉義, 小於號轉義成:<
#escape(blog.content);
7.注釋
### 這裡是單行注釋
#-- 這裡是多行注釋的第一行
這裡是多行注釋的第二行
--#
13 2 4 模板層 模板語言
django約定將所有的html文件都放在templates資料夾下,注意,templates是模板的意思,這是因為放在templates資料夾下的並不全是html文件,如果文件中包含django的模板語言,那就是django模板檔案。來思考乙個響應的過程,當我們使用render 函式返回乙個文件時...
Django模板語言
1.1 模板由兩部分組成 html 邏輯控制 1.2 作用 快速生成html頁面 1.3 優點 模板的設計實現了業務邏輯與現實內容的分離 檢視可以使用任何模板 1.4 模板處理 載入 渲染 2.1 只需要記兩種特殊符號 和 變數相關的用 邏輯相關的用。2.2 邏輯相關 2.2.1.if判斷 2.2....
Django 模板語言
1.深度變數查詢 點號 2.變數的過濾器filter 語法格式 冒號前後不能有空格 filter函式 add 給obj增加數值 capfirst 首字母大寫 cut 移除字串中的指定字元 date 格式化日期字串 default 如果值是false,就提換成設定的預設值,否則就用原本的值,將傳過來的...