2018-01-18 11:37

@King 第一个确实是 jfinal 需要改进的一个地方,jfinal 3.4 会改进这里,目前建议如下几个主方案:
1:在 src/main/resources 下创建 com.jfinal.plugin.activerecord 包,然后将 jfinal 的 Model 拷贝一份进去,然后对 keep(...) 方法做点修改,在 Config config = _getConfig(); 这行代码下面添加下面的两行代码;
if (config == null ) {
config = DbKit.brokenConfig;
}

2:如果你扩展过中间 Model,可以这个中间 Model 中覆盖这个 keep(...) 方法

第二个问题,使用新版本的 jfinal 是不会出现的,因为新版本的 Model,里头的 getAttrName 的 getter 方法都添加了下划线前缀

记得搞定后回来分享一下

2018-01-18 11:28

@朱 @lyh061619 这个是 Springboot 的坑,正好有人碰到过,且有比较好的处理方案:http://www.jfinal.com/share/457

2018-01-18 11:26

@caoxusheng 好眼力啊,牛逼

2018-01-18 11:21

新版本的 Logger 更名为了 Log。 jfinal-ext 貌似很久没有升级了,建议使用 jfinal ext2:
https://gitee.com/brucezcq/JFinal-ext2

2018-01-17 22:05

通过 Kv 传递进去,像下面这样:
Kv cond = Kv.by("orderBy", "id desc, name asc");

sql 模板中这么来用:
#sql(...)
select ... from ... where ... order by #(orderBy)
#end

获取的时候: SqlPara sp = getSqlPara(key, cond);

别的参数也可以这样来传进去,具体看一下文档

2018-01-17 21:24

select * 改为 select 确定需要的字段,这样在 renderJson 时就用过滤了

2018-01-17 21:22

又见新玩法, 看来手里有新锤子的时候,是得想想原来的东西可不可以变成钉子

2018-01-17 21:14

@King 当然不是,sql 语句中的 select 中去控制是最简单有效的,例如:
select title, content from article where ...

而不是 select * from article where ...

2018-01-17 21:00

用一下 Model 中的 keep(...) 与 remove(...) 方法,前者保持住指定的属性,删除其它属性,后者反之

注意,这两个方法,可同时传多个参数,例如:
user.keep("userName", "password");

2018-01-17 18:25

@fox 如果你自己没有动过这个方法,只需要 copy 新版本中的代码过来就好

2018-01-17 18:02

@fox 关注点放这里:
1:jfinal 高版本调整了 Dialect 中部分方法的参数
2:而你针对老版本自定义过 MyAnsiDialect ,所以里头的有些方法并没有真正覆盖掉父类的 AnsiSqlDialect 和 Dialect 中的方法,相当于这些方法是不会被调用的

如果用的是 eclipse,查看一下 MyAnsiDialect 类中的方法,定义之处的左侧是不是有一个绿色的小三角形存在,如果不存在,就要修改一下方法签名,变得与父类一样的签名

2018-01-17 17:05

@arboret 配置弄对就能连上了

2018-01-17 17:03

这个功能暂时没有提供,jfinal 3.4 会考虑添加这个功能,目前你可以通过自定义指令的方式来扩展一下,参考一下 com.jfinal.template.ext.directive 包下的 StringDirective,做一个 #compress 指令出来

使用的时候这样:
#compress
这里是一切别的内容
#end

2018-01-17 16:48

换成 DruidPlugin 即可,具体用法下载首页的 jfinal demo,里头有现成的代码可 copy

2018-01-17 16:10

500 错误表明后端有异常,分析一下控制台输出的异常是最关键的步骤,分析完以后才谈得上去解决问题

解决问题的第一步是定位问题