2017-02-17 11:53

在 include 指令之前使用 #set(....) 指令直接传就好, just do it

2017-02-17 11:39

想要限制model 中输出的字段,可以在查询的时候在 sql 中指令只查出什么,例如:
find("select id, nickName from user where....")
还可以通过使用 model.keep(...) 与 model.remove(...) 方法保持住或者移除不希望转换为 json 的属性

下划线转驼峰建议是直接将数据表字段弄成驼峰,少很多事,具体可以看一下 jfinal-club项目

想要在model 中自由整合很多其它属性,用一下 model.put(key, value) 就好

2017-02-17 11:05

直接修改这个贴子,将 me.setBaseUploadPath 的配置以及 getFile 处的代码贴出来,才好判断

2017-02-17 11:04

@伊森 这个问题其实相当纠结,因为用正则去 replace 掉 order by 语句块无法预料到有些极其复杂的 order by 形式,所以后来这个去掉了,但没想到 sql server 不允许 select count 语句出现 order by

2017-02-17 11:02

jfinal 保障了技术层面的简单性,但如果你的业务本身就很复杂,那也是要费点时间的。至于做商城要多久,取决于很多因素,例如功能的多少,复杂度,开发人员有多少

2017-02-17 11:00

@spectre jetty 依赖,在 IDEA 中的 pom.xml 中需要是 compile, eclipse 中可以为 provide,其实正常应该是 provided,因为这个只是开发时需要的依赖

注意在 IDEA 中,如果要打包成 war,需要先将 prvided改成 compile,否则会打进去一些无用的 jar 包

2017-02-17 10:44

或者你试试在最外层套一个 select *,形如:
paginate(1, 10, "select *", "from (原 sql ) as temp", ....)

2017-02-17 10:43

创建一个 public class MySqlServerDialect extends SqlServerDialect,然后覆盖一下 replaceOrderBy 方法,将 order by 的替换用上,相关代码在源码中都有

2017-02-17 10:42

很早以前的版本,getFile(...) 可以传入绝对路径。升级到 jfinal 3.0 解决一下

2017-02-16 19:29

@埋头苦干 自己扩展 MetaBuilder,使用固定的排序规则,不会再依赖 JDBC,与 JDBC 没有关系

例如,在 MetaBuilder 扩展类中,使用字典排序对复合主键进行排序,这个排序的结果是永远固定的

2017-02-16 19:05

让 paginate 方法减少一个参数即可,大致如下:
paginate(1, 10, "select *", "from user where age >18");

2017-02-16 17:38

@埋头苦干 这个方案并不彻底,例如:将建表语句中指定的双主键次序换一下然后建这张表,就有问题了

2017-02-16 15:33

注意一下,为 sql 管理模块的 Engine 添加指令需要使用如下代码:
ActiveRecordPlugin arp = ...
Engine engine = arp.getSqlKit().getEngine();
engine.addDirective(...);

也就是说 view 层与 active record 的 Engine 对象是不同的对象,这样设计可使各模块拥有各自不同的 Engine 对象,以免互相产生干扰

2017-02-16 15:23

指令是怎么添加的,直接修改这个贴子,贴出点代码来,此外,通过异常消息可知,该错误是由于 #sql 指令的参数需要是字符串

2017-02-16 14:55

@埋头苦干 最终是采用什么方案解决的,是强制再指定一次,还是通过扩展 MetaBuilder 解决的?