2017-02-09 16:15

@杜福忠 没什么不妥,jfinal 的大部分模块都是开放式设计,很方便支持各种扩展,包括 json 实现的扩展

2017-02-09 16:14

如果有大面积的内容是需要国际化的,可以对每个国际化版本做一套模板,然后用 jfinal 提供的 I18nInterceptor 中的 switchView 参数来实现整体模板的切换,添加这个拦截器为全局拦截器:
me.add(new I18nInterceptor(true))

当 I18nInterceptor 的 switchView 参数为 true时,jfinal 的 render 动作会自动切换相应区域的 template file

做好的不同区域的国际化模板文件分别放在不同的 locale 目录之下,例如中国的放 zh_CN 下,英文的放在 en_US 之下,具体名称有点忘了,试验一下就知道了

2017-02-09 14:40

active record 模式的根基是一个 model 对象唯一对应一条数据表记录,而这个对应关系需要使用primaryKey 主键这个东东

因此,生成 model 的时候需要相应的 table 有主键,如果确实不想使用主键,使用 generator.addExcludedTable(tableName) 将这些表排除在外,不生成 model即可,然后对这部分 table直接使用 Db + Record 模式进行操作

2017-02-09 14:37

先将json 实现切换一下,例如: me.setJsonFactory(new MixedJsonFactory()),然后就可以用 parse 方法对 json string 反序列化成 java object 了

注意 MixedJsonFactory 对 fastjson 有依赖,需要引入相关的 jar 包

2017-02-09 14:23

再多试一试,应该可以解决,搞定后记得再回来分享一下

2017-02-09 14:22

@简单 注意一下方法名为:replaceOrderBy,可能你的 jfinal 版本更老,很老的版本才叫:replaceFormatSqlOrderBy

2017-02-09 14:17

以前的 replaceFormatSqlOrderBy 方法仍然保留了,只是改为了空实现,就是为了应对不确定的情况发生,这种不确定还真的就发生了

2017-02-09 14:16

尝试两个方案:
1:通过创建 MySqlServerDialect extends SqlServerDialect 并且覆盖掉 replaceFormatSqlOrderBy 方法,将老版本中的处理再用上

2:外层再套一个 select * from ( 原 sql) as temp,大致这样:
paginate(1, 10, "select *", "from (原来的整个 sql) as temp", ....)

2017-02-09 14:10

将 select COUNT(*) from RDP_Resource order by res_Create desc 这行 sql 在纯控制台执行一下看有没有错误,如果有错误改好以后再放入 java 代码中

2017-02-09 14:07

整个 sql 是什么样的? 目测是 sql 没写对

2017-02-09 14:01

new NettyServerBootstrap(8899); 这行代码是否阻塞了当前线程,试试让这行代码放在新创建的线程之中,搞定后回来反馈一下

2017-02-09 11:55

@晨风 终究还是 jdk 的问题, jetty 不会有问题

2017-02-09 11:34

jfinal 3.0 对于 sql server 支持并没有做改进,仍然保持着原有的支持力度。oschina 上看到的对 sql server 支持有点问题,都是生成器在生成 model baseModel 时的小问题,稍微扩展下生成器就可以了,用上 jfinal 3.0, just do it

2017-02-09 11:32

具体出现了什么问题?

2017-02-09 11:32

这个是纯 java 问题了,通篇没有 jfinal 参与过。dos.writeObject(this) 参数的 this 对象不被 ObjectOutputStream 支持而已