2017-05-04 09:55
@edgar sql 管理功能的 #sql #namespace 是“定义”的语义,定义通常都是这种规则,例如 java 中定义一个方法:
public void method()
上面的这个 method 不能再去引用一个变量:
public void com.abc.Const::METHOD_NAME()
2017-05-04 09:47
@zzhkiller for 指令还有一个用法对于 web 开发很有用:
#for(...)
有被迭代的数据
#else
没有数据可以被迭代
#end
以上用法,如果没有任何数据,就会走 else 分支。
此外,for 指令还支持任意数据类型的迭代,例如,对于 null 迭代,不用做任何 null 值判断,例如:
#for ( x : null)
#else
#end
当然,不会真的有人对null迭代,这种情况是针对变量求值以后为null的情况:
#for(x : value)
上面的 value可能为null的情况非常普遍,传统模板引擎需要事先用 if 判断一下,很麻烦
对于 map 迭代做了极简处理:
#for (x : map)
#(x.key) #(x.value)
#end
以上对 map 的迭代比 java 中的:
for (Entry < TypeA, TypeB > e : map.entrySet())
要简洁很多
2017-05-04 09:22
@MicroCat 每次 conn.close() 会重置 auto commit 为 true,这个是连接池或者是 JDBC 自己的行为,jfinal 并未干预过