2017-05-27 18:02

select 中出现中文字符,对此的解析确实没有覆盖到,前段时间已经修复了这个问题,来群里找一个群主,添加一个文件即可搞定

jfinal 3.2 已经解决了这个问题,现在功能不多,所以还不足以发布新版本

2017-05-27 17:59

文档在这里:http://git.oschina.net/jfinal/jfinal-weixin/wikis/home

jfinal weixin 开发是针对对微信公众平台已开放的 API 做的一个封装,在了解了微信公众平台官方的 API 之后,再稍微看看 jfinal weixin 的文档就可以了

2017-05-27 17:57

@Han_JiaLin 文件上传就是 getFile(),下载就是 renderFile() 这个在手册中都有说明,很简单,试试就会用了

2017-05-27 14:19

想办法重现错误,或者在错误现场去观测,才好解决

2017-05-27 11:47

用一下 model.put(...) 方法即可

2017-05-27 11:42

又有新作出来了,感谢 @小木学堂 的分享

2017-05-27 11:41

白天上班,晚上做开源项目,还要回复官方社区问题,以及 gitosc、github、oschina 上的问题处理,再加上我也是个懒人,就没顾上了

2017-05-27 11:40

在后端,单步调试,看没有有一直被卡住很慢的代码

在前端,按一下 F12,观测一下是不是有请求一直在等待

2017-05-26 22:31

先设置 view type 为 jsp:
me.setViewType(ViewType.JSP);

不要使用 redirect,改成 render:
render("list.js");

redirect 是重定向,是告诉浏览器再次重新发起一个请求,新的请求必然会丢失掉你 setAttr(...) 传递的任何东西

2017-05-26 22:29

有小伙伴正开发相关插件,再等等

2017-05-26 18:00

jfinal 手册上有用法描述,还有实际的例子代码

2017-05-26 11:01

getModel、getBean 能正常工作的前提是你在页面中的 name=xxx 的值与 model 中的字段对应上,或者与 bean 中的 setter 方法对得上

这个问题与你是否有 private Integer roldIe 完全无关,这个属性定义是完全不需要的,如果是 getBean 的话,只与你的 setter 方法有关

模板中的使用有误,应该是: #(x.sex == 1 ? "checked" : ""),用个三元表达式即可,建议多看看 jfinal 手册,都是些基本的用法

2017-05-25 18:43

2017-05-25 18:29

想起来一点点,再补充一下:以前 3.0 版本的用法,getSql(...) 可传入 Map、Model 参数,例如:
String sql = Db.getSql(key, map);
Db.find(sql, p1, p2, ..., pn)
也就是说,老用法通常要传两次参数,一次用于生成 sql,一次用于查询,在查询时用纯 sql 的情况非常少,通常是需要 Object... paras 参数的

而 3.1 之所以会去掉 getSql(...) 对于 Map、Model 的参数支持,是因为使用 getSqlPara(...) 只需要传一次参数,即可完成生成 sql,以及 para 的构建,例如:
SqlPara sp = Db.getSqlPara(key, map);
Db.find(sp);
以上用法,只需要传入一个 map 就可以构建 sql 与其 Object... paras,所以是 3.1 鼓励的用法

通过对比, 3.1 的用法明显比 3.0 的用法简单快捷,而且 3.1 的用法可完全覆盖掉 3.0 的功能,升级起来也很容易

此外,3.1 的用法还能避免掉 3.0 的线程安全问题,一举多得。在这个问题的设计上是经过极为深入的考虑与实践的。建议你在升级到 3.1 的时候,再多走那么一小步,会发现新用法非常好用

2017-05-25 18:16

强烈建议升到 jfinal 3.1,用我上面介绍的办法升级是分分钟的事情,搞定后别忘了回来分享一下

总结起来就一句:用 getSqlPara(..) 代替你原来需要传参的 getSql(...),得到 SqlPara 参数以后,直接扔给 find(...) paginate(...) 系列的方法,对于 update 方法,可以这样:Db.update(sqlPara.getSql(), sqlPara.getPara())