jangod基本語法

簡介

Jangod是根據python的Django模板語言改編實現的java版本,其主要特點是模板繼承和簡單的語法以及靈活運用的過濾器功能。有關內容可以參看Django模板說明

基本概念

輸出

{ expression }}

用於輸出變量的值到頁面中

標籤

{% tag helper %} ………… {% endtag %}

標籤,用於控制頁面內容輸出流程,有些標籤不需要關閉標籤符endtag。詳細查看各種標籤說明。

註釋

{# comments #}

對中間的代碼註釋掉,使其不產生任何作用。

過濾器

var|filter:arg1,arg2

對變量var執行filter操作,操作帶參數arg1,arg2,操作的結果將產生新的值。詳細查看各種過濾器說明。

表達式

user.id|equal:’3’

由變量和各種過濾器組成,單獨的變量也是表達式。

標籤

extends 繼承

用法:{% extends “base.html”%} 或 {% extends fileNameVar %}

說明:表明當前模板繼承某個模板,所謂的繼承就是父模板把頁面劃分爲幾個塊,而子模板只需要重新定義需要改寫的塊的內容既可。

block 塊

用法:{% block a_name %}

說明:在父模板定義一個頁面塊,在子模板就可以定義同樣的塊名來重寫該塊的內容,沒有被重寫的塊則保留原來的內容。

include 引入

用法:{% include “sidebar.html”%} 或 {% include fileNameVar %}

說明:在當前模板位置嵌入另一個模板文件的內容,使得被嵌入的模板作爲本模板的一個組成部分。

if 條件判斷

用法: {% if expression %}……{%endif%} 或 {%if avar%}…{%else%}…{% endif %}

說明:判斷標籤所附帶的表達式的計算結果是否可判定爲真,爲真則輸出標籤後的內容,否則輸出else後面的內容(如果有else的話)。變量是否爲真參考php的真值規則。

for 循環

用法: {%for tempVar in users %}……{%endfor%}

說明:循環輸出標籤裏面的內容。從一個集合users裏獲取一個項,把該項的標識符置爲tempVar以便能在標籤內使用該項。循環體內自動產生loop(index,count,first,last,length,revindex,revcount)變量,用於表示當前執行位於總體循環中的地位,如{{loop.count}}輸出循環的序號。如果users並非一個集合類型(Collection,Array,Map,Iterator),則只循環一次,即tempVar=users。

ifchanged 是否變更

用法: {% ifchanged tempVar %} … {% endif%}

說明:主要用於循環體中,用於判斷該循環項與上一項的內容是否不一致。如果不一致則輸出標籤體的內容,防止重複輸出。

cycle 輪循輸出

用法: {% cycle ‘2’,’3’,’5’%} 或 {%cycle a,b,c as out %}……{%cycle out%}

說明: 主要用於循環體中,根據執行在循環中的位置依次輸出cycle的項,如2,3,5,2,3…。as 用於定義一個輪循變量集合,下次則可以直接使用該變量輪循輸出。

set 設置臨時變量

用法: {% set varName expression %}

說明: 把一個表達式的值保存到一個新的變量中去,下次則可以直接使用該變量,無需重複計算表達式。

過濾器

default 默認值

用法: expression|default:var 或 expression|default:’hello’

說明: 如果expression可判定爲真則結果爲expression的結果,否則結果爲var

date 格式化日期

用法: expression|date:”yyyy年MM月dd日”

說明: 用於一個格式來格式化日期數據,返回結果爲字符串,參見java日期格式化

contain 是否包含

用法:expression|contain:var

說明:判斷集合是否包含某個項var,或,字符串是否包含字串var,返回結果爲真假值。

length 取長度

用法:expression|length

說明:獲取集合的項的個數,或字符串的長度,返回結果爲數字。

reverse 反序

用法:expression|reverse

說明:對集合進行倒序排序(集合本身必須是有序的),或,對字符串倒序。返回數組或字符串。

random 隨機

用法:expression|random

說明:隨機取集合的一個項,或,隨機取一個小於某個值的整型數字。

equal 等值判斷

用法:expression|equal:var

說明:過濾器左右兩邊的值是否相等。返回真假值。

not 取反

用法:expression|not

說明:顛倒真值判定結果的真假值,如果expression爲真,則返回假。返回真假值。

and 邏輯與

用法:expression|and:var1,var2,…

說明:把expression和後面的所有參數(參數個數不定)進行邏輯and操作,取結果的真假值。

or 邏輯或

用法:expression|or:var1,var2,…

說明:把expression和後面的所有參數(參數個數不定)進行邏輯or操作,取結果的真假值。

abs 絕對值

用法:expression|abs

說明:對數值取絕對值。非數值型的則返回本身。

divisible 整除

用法:expression|divisible:var

說明:判斷數字能否被var整除。參數必須爲數字或常規數字字符串。返回真假值。

add 加

用法:expression|add:var

說明:對數值進行 加 操作。參數必須爲數字或常規數字字符串。

multiply 乘

用法:expression|multiply:var

說明:對數值進行 乘 操作。參數必須爲數字或常規數字字符串。

divide 除

用法:expression|divide:var

說明:對數值進行 除 操作。參數必須爲數字或常規數字字符串。

escape 特殊字符

用法:expression|escape

說明:對字符串替換<,&,>的特殊字符。非字符串則不作任何操作。

lower 小寫

用法:expression|lower

說明:把字符串全部轉換爲小寫。非字符串則不作任何操作。

upper 大寫

用法:expression|upper

說明:把字符串全部轉換爲大寫。非字符串則不作任何操作。

truncate 截斷

用法:expression|truncate:’300’,’…..’

說明:把字符串按一定的長度截斷,第一個參數表示截取長度(缺省爲100),第二個參數表示截取後添加的後綴(默認爲…)。非字符串則不作任何操作。

cut 消除子串

用法:expression|cut:var 或 expression|cut:’abc’

說明:去除字符串中的所有子串var。

一些例子

{% if a|or:b|not|and:c,d %} == !(a or b) and c and d

{% for user in userList|reverse %} 倒序輸出列表

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章