JFinal常用指令
<h4>类型转换</h4>
<p>1、字符串或者数组类型互转
<code>#set(age = "18") #(age.toInt())</code>
其他的类型转换类似,可以参考
<a href="https://www.jfinal.com/doc/6-9">https://www.jfinal.com/doc/6-9</a></p>
<p>2、自定义类型的转换</p>
<pre><code class="language-java">@Override
public void configEngine(Engine me) {
// 自定义类型转换
Engine.addExtensionMethod(Long.class, MyLongExt.class);
}
public class MyLongExt {
/**
* 在页面中的用法: #(x.toDate())
* 将long类型的秒转为时间类型
* @param seft
* @return
*/
public String toDate(Long seft){
return DateUtil.formatDate(new Date(seft * 1000));
}
}</code></pre>
<h4>if类型</h4>
<p>常用的指令 <a href="https://www.jfinal.com/doc/6-4">https://www.jfinal.com/doc/6-4</a></p>
<pre><code class="language-java">// 在Controller中需要设置 setAttr("item_code","123")
#if(item_code.toInt() == 10)
内容
#else if(c2)
内容
#else
内容
#end</code></pre>
<h4>for类型</h4>
<pre><code class="language-java">// list不用判断空,如果为null不会进入for内部
#for(x : list)
#(x.field) 循环获取对象中的属性字段
#(for.size) 被迭代对象的 size 值
#(for.index) 从 0 开始的下标值
#(for.count) 从 1 开始的记数值
#(for.first) 是否为第一次迭代
#(for.last) 是否为最后一次迭代
#(for.odd) 是否为奇数次迭代
#(for.even) 是否为偶数次迭代
#(for.outer) 引用上层 #for 指令状态
#continue
#break
#else
如果list的size为0或者list为null时,执行此部分内容。当然else部分可以不用
#end
// 循环map
#for(x : map)
#(x.key)
#(x.value)
#end</code></pre>
<h4>set指令</h4>
<pre><code class="language-java">#set(x = 123)
#set(a = 1, b = 2, c = a + b)
#set(map1={1:"名称1",2:"名称2"})
#set(array[0] = 123)
#set(map["key"] = 456)
#(x) #(c) #(array[0]) #(map.key) #(map["key"])
#(map1[1])</code></pre>