2017-05-04 11:18

@w4ww 没错,是要用 setColumns(...)

2017-05-04 11:17

打开那个有错误提示的文件,里面会有错误提示,直接告诉你了错误原因

2017-05-04 11:01

光想是不行的,只要稍微调试一下就可以了,这纯粹是一个细心 + 调试的问题

2017-05-04 11:00

@w4ww FastJson.getJson().parse(jsonStr, Map.class)

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:42

@edgar 主要是因为这个 namespace 值的获取发生成模板解析阶段,所以不太方便去弄成动态的,技术上是可以做到的

2017-05-04 09:33

先转成 Map 过渡一下,然后再通过 new Record().set(Map) 来转成 record

2017-05-04 09:30

jfinal sql 管理中的 #namespace,就跟 C# 语言中的 namespace 关键字,或者跟 java 语言中的 package abc.def 类似,只支持直接 String 常量指令,不支持去引用另一个变量

com.gmrz.uap.common.DbConst::TABLE_USER 这个与 "abc" 仍然有区别,前者仍需对“变量”求值

2017-05-04 09:22

@MicroCat 每次 conn.close() 会重置 auto commit 为 true,这个是连接池或者是 JDBC 自己的行为,jfinal 并未干预过

2017-05-03 21:55

@edgar "abc" 这种常量

2017-05-03 21:37

魔板引擎中,用户使用变量的默认作用域是当前魔板有效,如果希望限定在魔板函数内部,可以使用 #setLocal(x = ...)

这样设计既方便传参也能实现模块化

2017-05-03 21:33

#if(for.index < 2) 或者 #if(for.count < 3),手册没看?

2017-05-03 18:24

用 if 控制一下