2017-02-28 11:21

jfinal template engine 有自定义指令、template function、shared method、shared object 等扩展方式,不仅可以覆盖掉 freemarker 自定义功能,而且能实现更为强大的功能

键值对传参早就支持了,看一下手册,这样来用的:
#@functionName({k1 : 111, k2 : value})

不仅支持上述键值对传参,还支持数组传参:
#@functionName([1, "a", var, "b", 2])

2017-02-28 11:17

@hzw 感谢解决以后能回来分享解决的办法

2017-02-27 17:07

@hzw 可能是某个环节没弄干净,如果不嫌麻烦的话,可以删除所有 class 文件,然后重新上传

2017-02-27 16:18

@hzw 新增字段,你重新生成 model 没? 此外最好是重启下项目

2017-02-27 16:15

使用 chrome 浏览器,先打开目标网页,然后按一下 F12 键打开开发者工具,点击一下 Network 这个标签,再按一下 Ctrl + F5 无缓存刷新页面一次

进而会看到所有请求的加载时长,鼠标放在某一个加载资源行的 Waterfall 列的那个时间流逝条之上,就能清楚地看到加载页面的个各过程的时长,目测是你的 DNS 解析速度很慢, DNS 解析的时间与你的服务器完全无关,是浏览器与 DNS 服务器交互的时长

2017-02-27 15:40

@yjjdick1990 jfinal 项目这篇文章是我发布的,在发布 feedback 时关联 jfinal 项目时,我会收到一个 @ 提到我 的消息,具体代码见俱乐部频道的 jfinal-club 项目

2017-02-27 15:12

@hzw 在本地运行有没有问题?

2017-02-27 15:11

你在在用 IDEA 开发环境吗? 这种在参数处显示 name: 的事情是 IDEA 为了让开发者知道形参名而额外的一个提示,可以通过配置关掉这个提示

2017-02-27 15:10

在使用的时候大致这样:
paginate(1, 10, "select * ", "from (原 sql 在此) as temp", ....)

2017-02-27 15:09

外面套一个 select * ( 原 sql ) as temp 就可以了

2017-02-27 12:10

@vikingSun 在 sql 模板中对一个 condMap 进行迭代需要在 getSqlPara 或 getSql 方法传入的 map 实参中放入这个 condMap,也就是相当于:
data.put("condMap", condMap) ,再将 data 这个 map 对象传给 getSqlPara

如果不希望这么用,还可以通过自定义指令来将 root 这个 map 放入一个变量,用的时候这样:
#setRootMap("condMap")
将指令扩展可以非常自由的实现千变万化的功能

第二个问题,你希望是对表达式的求值后的结果再进行求值,并且这个第二次不算是求值,是以值以 key 去 map 取值,对于 jfinal 来说如果这样做,那么用户只希望获取常量的需求就无法满足了

2017-02-27 11:34

jfinal 手册上有例子

2017-02-27 11:34

将服务器上相关的编译好的 class 文件与本地编译好的 class 文件对比一下其 hash 值,用 rar 压缩工作压缩后可以看到 hash 值

如果 hash 不一致,证明未真正更新过,当然,在做 hash 对比前,先简单通过文件大小来对比会更快

2017-02-26 18:40

jfinal club 项目是俱乐部专享的项目,看一下俱乐部频道,有需要的话可以考虑加入俱乐部

2017-02-26 18:39

感谢分享,赞一个