2017-08-17 15:54

最好的办法是在页面中判断一下终端类型,使用模板引擎的 if 分支,给不同的类型响应不同的内容即可

2017-08-17 14:13

@mrgaoang 调试跟踪到底层,看发生了什么

2017-08-17 13:56

多试试,一定可以的

2017-08-17 13:45

看控制台输出的 jfinal action report 的parameter 栏即可,数据根本没到后端而已

2017-08-17 12:43

@春风吹又生 只要是使用 jfinal 操作数据库的 API,connection 对象都会在 finally 块中被 close() 掉并被连接池回收,不必担心

多数据库很多年前就支持了:
1:对于 model 来说,调用其上的任何方法,会自动查找该 model 所对应的连接池,也可以通过 model.use(configName) 来临时切换连接池/数据库
2:对于 Db 来说,可以通过 Db.use(configName) 来切换,用的时候通常这样:
Db.use(configName).find(sql, paras)

建议先看看 jfinal 手册,里面都描述过,能节省很多时间

2017-08-17 12:17

有好多方法:
1:Db.update("delete from xxx where id = ?", idValue);
2:new MyModel().setId(id).delete();
3:Db.delete("tableName", new Record().set("id", idValue));

2017-08-17 12:15

@wu482525 目前不支持,建议写个 getBeans(...) 方法进行扩展,大致如下:
List list = new ArrayList();
for (int i=0; i<size; i++) {
Xxx xxx = getBean(Xxx.class, "beanName[ " + i + "]");
list.add(xxx);
}
return list;

然后表单里面的 name 做成如下的形式就可以了:
name="beanName[0].attrName"
name="beanName[0].otherField"

name="beanName[1].attrName"
name="beanName[1].otherField"

2017-08-17 11:32

@dear7575 根据不同的 dataBaseName 按照我前面的方案,去 return 不同的 Config 对象就可以了

每个 Config 都可以对就到不同的 dataBaseName, Config 中有很多构造方法,中有一个一个是 DataSource 参数,这个 DataSource 参数可以对应到不同的 jdbcUrl,也就是说可以对应到不同的 database

2017-08-16 23:20

@王晓辉 映射路由的时候碰到 actionKey 相同的情况会直接抛出异常,项目将无法启动,也就不存在选择哪个执行的问题了

actionKey 必须是唯一的

2017-08-16 17:02

@dear7575 用一个独立的表去存放 userName 与 configName 的关系,查询的时候用 Db + Record 模式:
1:用一个全局拦截器
2:拦截器中得到当前登录用户的 userName,这个就是传统的登录功能,不再多说
3:String configName = Db.queryString("select configName from configTable where userName=?", userName);
4:将这个 configName 放在当前拦截器的一个 static ThreadLocal threadLocal 对象中
5:通过引入一个中间的 MyBaseModel extends Model,覆盖一下父类的 _getConfig() 方法,从 threadLocal 中拿到 configName,然后直接:
return DbKit.getConfig(configName);
6:最终的 Model 继承一下这个 MyBaseModel,如果用了生成器生成过 BaseModel,可以让所有生成的 BaseModel 由继承 Model 改为继承 MyBaseModel,扩展一下 BseModelGenerator 中的 genClassDefine() 方法即可,极度容易

2017-08-16 16:47

@Sea-sea 一定要注意:没有parameter这一栏这的情况是数据根本没到服务端,是无论如何也得不到数据的,死死盯着前端去解决问题就好

你的 js 写得不规范,少了分号 ;

2017-08-16 16:37

@Sea-sea 看一下 jfinal action report 中的 parameter 这一栏

2017-08-16 16:27

key 值是自己指定的:findByCache(cacheName, cacheKey, value)

2017-08-16 16:11

redis 的集群用法没有经验,帮不到你,可以去群里问问

2017-08-16 16:10

HttpKit 只是一个简易的 http 工具,暂时没有提供请求时长配置,默认是 19 秒