2017-10-13 11:36

存放到 redis 前需要做好序列化,jfinal 提供了现成的 RedisPlugin可以使用,你也可以用 Jedis 这个 redis 客户端,需要自自己解决序列化问题

2017-10-13 11:17

@djs19960601 如果要打成 jar 包来运行,建议将 webRootPath 这个参数拿出来当成配置项,与 jdbcUrl 连接一样当成配置

2017-10-13 11:16

不了解你的部署方式详情,没法帮到你

2017-10-13 11:15

@lan_ enjoy coding, enjoy life!

2017-10-13 11:14

仍然使用 paginateByFullSql, 在 sql 外层再套个 select 就可以了:
select * from (原 sql 在此 ) as temp

2017-10-13 11:12

好多年不用 webserivce,如果能避免用 webservice 就尽可能不用,发布接口用 renderJson() 要方例得多

如果一定要用 webservcie,会用 xfire 以后,直接在 jfinal 中使用就好,不一定要有一个整合的动作

jfinal 本是一个 mvc + orm 框架,本质上可以用上任何第三方的东东,不一定要有个整合动作

2017-10-13 11:10

@咔嚓 三元表达式也可以:
#(question.Id ?? != null ? "disabled = 'disabled'" : null )
或者:
#(question.Id ?? != null ? "disabled = 'disabled'" : "" )

jfinal 的表达式是直接与 java 打通的,会用 java 就会用 jfinal enjoy 模板

2017-10-13 11:08

@silenceViking 不指定主键名的时候,默认为 "id",如果不是这个值,需要手动指定,例如:
Db.save("user", "user_id" record);

2017-10-13 10:54

@咔嚓 我以为你是碰到问题了呢? 原来是分享,没看仔细,不好意思 ^_^

我的用法少打了一对扩号,建议用用

2017-10-13 10:50

得这样用: #if (question.Id ?? != null) disabled = "disabled" #end

2017-10-13 10:37

不是不想加,而是加了以后 Kv 的便利性几乎都没有了,加了以后, by、create、这些方法都将不负存在

这个需求早就想到了,用一下下面的方法即可:
kv.set(kv);

2017-10-13 10:34

ehcache 集群就是一个配置的事情,下载 ehcache 官方文档,拿到里面对于 ehcache.xml 关于集群的配置就可以了

jfinal 对于 ehcache 的封装,只在 api 使用层面,而 ehcache.xml 的配置完全是原汁原味的,照他们官方的配置就可以

2017-10-13 10:33

@Yuengh 发送 post 请求就不会有乱码了,而 get 请求的 url 挂参并不支持中文

2017-10-13 10:31

@flyinkeke 分页功能需要有一个查询总页数的 sql 存在,例如 mysql 是这样:
select count(*) from ....

但是 count(*) 这种查询是与 order by 无关的,为了提升性能需要去掉 order by,mysql 以外的数据库干脆就会对 count(*) 带 order by 的 sql 直接报错,不允许

而要去掉这个 order by, 通常要用正则表达式。 但是 sql 语句可以是极其灵活和复杂的,例如你代码中的:
ORDER BY user_id NOT IN(7,8,9),score DESC;

用正则表达式确实可以覆盖并去掉你上面的 order by , 但代价是性能下降至少一个数量级

因此 jfinal 采用了如下权衡的方案:
1:对 order by 的移除,仅使用不影响性能的表达式,仅移除最常用的简单 order by 格式

2:对于不能移除的,使用 paginateByFullSql(...) 方法解决

设计就是权衡与选择,没有完美的设计