2017-06-30 21:58

不能比这更简单了,页面一个 img 标记,后台一行 renderQrCode(...),打完收工

2017-06-30 21:58

你看一下加入俱乐部页面的二维码 img 标记的 src 属性值就全明白了,打开这个链接: http://www.jfinal.com/club/join

注意点击鼠标右键看 img 的 src 属性,指向的是 action,而这个 action 之中用了一句: renderQrCode(...)

2017-06-30 17:29

@要输就输给追求 严谨的做法是返回 404错误

2017-06-30 14:42

@要输就输给追求 这种方式在逻辑上不严谨,你可以通过 mysql 的带有 limit 的查询去验证一下,照样查不到数据: select * from ... limit 9999, 9999

此外如果这样做了,你的项目中会有无数个 url 对应到完全一样的页面数据,例如,你的最后一页假定是 10,然后你的 11, 12, 13, 以及所有大于 10 的这些页面数据完全一样,这个就连对 SEO 也会有影响

2017-06-30 12:10

@蜡笔小新 注意一下,如果配置了ModelRecordElResolver.setResolveBeanAsModel(true),那么 model 中的 getter 方法在 jstl 中将不会被调用,只会调用 model.get(String name)

要考虑这个配置是不是对以前的代码有影响,如果是老项目,建议在最终的 model 中添加个 getScore() 方法

2017-06-30 11:50

如果你的 Model 生成过 BaseModel,就会 implements IBean 这个接口,在ModelRecordElResolver 的方法中可知对于 IBean 的处理是调用其 getter 方法,但你的 model 并不存在 getScore() 这个方法,所以就会有异常

解决的办法是配置一下:
ModelRecordElResolver.setResolveBeanAsModel(true)
这样 jstl 处理 model 时会调用其 get(String attrName) 方法,而不会理会 getter 方法

如果希望这个处理更加智能,建议使用 jfinal template engine

2017-06-30 10:36

@easy8in 你的数据表中只有两条数据,而 pageSize 是 10,只要是 pageNumber 大于 1,必然就查不到数据

2017-06-30 10:34

这里所说的停止是什么含义? 定时任务在执行完任务以后会自动停止,依据 cron 表达式等待下次被调度,在这个层面上来说已经有了停止功能

2017-06-30 10:31

从 sql 语句上看是没有错误的,参数错误而已,如果你用的 jfinal 3.1,这个分页直接用:
paginate(pn, ps, "select *", "from ....", psmId) 即可

2017-06-30 10:30

将 pageSize、pageNumber 这两个参数的来历弄清楚就解决了,这两个参数是从哪里传过来的,源头在哪里?

2017-06-29 20:59

@aqiang setAttr(...) 传递的数据在 redirect(...) 以后会丢失,这个是由 redirect 机制决定的

redirect 机制会让浏览器一共发起两次请求,第一次请求过来以后,服务端响应一个redirect 并告知浏览器该重定向到哪个 url,浏览器收到 url 以后会再次发起一个新的请求

在浏览器发起第二次请求时,setAttr(...) 过来的数据就会丢失掉,所以需要想别的办法解决

2017-06-29 19:14

@aqiang 带个 true 参数就可以了:
redirect(url, true)

2017-06-29 15:16

每个版本都发布在了 maven 仓库,源代码与 jar 包,还有 api 都能下载到:
http://search.maven.org/#search%7Cga%7C1%7Cjfinal

当然,你也可以去 git 上下载,每次发布版本都会创建与版本对应的 tag,maven 就像时光机一样,可随时穿越

2017-06-29 15:03

@siyuan @siyuan 用上最新版本解决这个问题,该版本会择机发布:https://github.com/jfinal/jfinal

2017-06-29 11:54

最后再补充一句,文件上传功能要先调用 getFile(...) 随后才能调用 getPara(...) 的问题在 jfinal 手册上有红色字体强调过