Jangod是根据python的Django模板语言改编实现的java版本,其主要特点是模板继承和简单的语法以及灵活运用的过滤器功能。有关内容可以参看Django模板说明
{ expression }}
用于输出变量的值到页面中
{% tag helper %} ………… {% endtag %}
标签,用于控制页面内容输出流程,有些标签不需要关闭标签符endtag。详细查看各种标签说明。
{# comments #}
对中间的代码注释掉,使其不产生任何作用。
var|filter:arg1,arg2
对变量var执行filter操作,操作带参数arg1,arg2,操作的结果将产生新的值。详细查看各种过滤器说明。
user.id|equal:’3’
由变量和各种过滤器组成,单独的变量也是表达式。
用法:{% extends “base.html”%} 或 {% extends fileNameVar %}
说明:表明当前模板继承某个模板,所谓的继承就是父模板把页面划分为几个块,而子模板只需要重新定义需要改写的块的内容既可。
用法:{% block a_name %}
说明:在父模板定义一个页面块,在子模板就可以定义同样的块名来重写该块的内容,没有被重写的块则保留原来的内容。
用法:{% include “sidebar.html”%} 或 {% include fileNameVar %}
说明:在当前模板位置嵌入另一个模板文件的内容,使得被嵌入的模板作为本模板的一个组成部分。
用法: {% if expression %}……{%endif%} 或 {%if avar%}…{%else%}…{% endif %}
说明:判断标签所附带的表达式的计算结果是否可判定为真,为真则输出标签后的内容,否则输出else后面的内容(如果有else的话)。变量是否为真参考php的真值规则。
用法: {%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 tempVar %} … {% endif%}
说明:主要用于循环体中,用于判断该循环项与上一项的内容是否不一致。如果不一致则输出标签体的内容,防止重复输出。
用法: {% cycle ‘2’,’3’,’5’%} 或 {%cycle a,b,c as out %}……{%cycle out%}
说明: 主要用于循环体中,根据执行在循环中的位置依次输出cycle的项,如2,3,5,2,3…。as 用于定义一个轮循变量集合,下次则可以直接使用该变量轮循输出。
用法: {% set varName expression %}
说明: 把一个表达式的值保存到一个新的变量中去,下次则可以直接使用该变量,无需重复计算表达式。
用法: expression|default:var 或 expression|default:’hello’
说明: 如果expression可判定为真则结果为expression的结果,否则结果为var
用法: expression|date:”yyyy年MM月dd日”
说明: 用于一个格式来格式化日期数据,返回结果为字符串,参见java日期格式化
用法:expression|contain:var
说明:判断集合是否包含某个项var,或,字符串是否包含字串var,返回结果为真假值。
用法:expression|length
说明:获取集合的项的个数,或字符串的长度,返回结果为数字。
用法:expression|reverse
说明:对集合进行倒序排序(集合本身必须是有序的),或,对字符串倒序。返回数组或字符串。
用法:expression|random
说明:随机取集合的一个项,或,随机取一个小于某个值的整型数字。
用法:expression|equal:var
说明:过滤器左右两边的值是否相等。返回真假值。
用法:expression|not
说明:颠倒真值判定结果的真假值,如果expression为真,则返回假。返回真假值。
用法:expression|and:var1,var2,…
说明:把expression和后面的所有参数(参数个数不定)进行逻辑and操作,取结果的真假值。
用法:expression|or:var1,var2,…
说明:把expression和后面的所有参数(参数个数不定)进行逻辑or操作,取结果的真假值。
用法:expression|abs
说明:对数值取绝对值。非数值型的则返回本身。
用法:expression|divisible:var
说明:判断数字能否被var整除。参数必须为数字或常规数字字符串。返回真假值。
用法:expression|add:var
说明:对数值进行 加 操作。参数必须为数字或常规数字字符串。
用法:expression|multiply:var
说明:对数值进行 乘 操作。参数必须为数字或常规数字字符串。
用法:expression|divide:var
说明:对数值进行 除 操作。参数必须为数字或常规数字字符串。
用法:expression|escape
说明:对字符串替换<,&,>的特殊字符。非字符串则不作任何操作。
用法:expression|lower
说明:把字符串全部转换为小写。非字符串则不作任何操作。
用法:expression|upper
说明:把字符串全部转换为大写。非字符串则不作任何操作。
用法:expression|truncate:’300’,’…..’
说明:把字符串按一定的长度截断,第一个参数表示截取长度(缺省为100),第二个参数表示截取后添加的后缀(默认为…)。非字符串则不作任何操作。
用法: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 %} 倒序输出列表