2017-08-28 17:07

eclipse 或者 IDEA 中配置的问题,仔细看一下 jfinal 手册

2017-08-28 17:04

@苦丁香 没错,记得扩展搞定后,回来分享一下,在分享频道:jfinal.com/share

2017-08-28 16:46

@北流家园网 A表不见了,这正是楼主希望的,因为他就想生成指定的 B 与 C

2017-08-28 16:45

@北流家园网 这个扩展为啥还需要 getTemplateByString(...) 这一步呢? 直接 writer.write(content) 不就可以了?

要知道从一个 url 过来的 content 之中如果有恶意代码,在使用模板引擎渲染的时候有危险性,当然这个危险性极小,因为 jfinal 模板引擎默认对很多操作已经做了屏蔽

2017-08-28 16:43

ClassNotFoundException 是最基本的异常,这个不用我多说了吧,在 jfinal 官网我起码就回复过几十个这样的错误了,用一下搜索功能:
http://www.jfinal.com/feedback/1654

2017-08-28 14:16

@ze 记得搞定后回来分享一下,这个问题相当罕见

2017-08-28 14:10

@ze 这个问题很诡异,建议多单步调试找原因,在我们这里都是很好用的,jfinal 的这个功能用了五六年了

2017-08-28 13:55

@ze 你确定 conn.rollback() 这行代码被执行了?

2017-08-28 13:23

@ze 你 new 出来的 ActiveRecordPlugin 对象就是 arp 了,new 出来以后,直接配置一下

2017-08-28 13:22

@eilir2016 最简单的办法就是使用 Model 而不是 record,如果一定要使用 record 转 json 有两个办法:
1:使用 JFinalJson 来转:JFinalJson.getJson().toJson(...),jfinal 默认就是么转的,只需要 JsonKit.toJson(record)
2:如果使用别的 json 工具,例如用的是 fastjson 需要做点扩展,以下是具体办法:
https://my.oschina.net/talenttan/blog/1517514

jfinal 3.3 会添加 fasjon、jackson 对 record 转 json 的扩展,多多关注 jfinal 新版本

2017-08-28 12:09

用 Db.call(...) 方法即可,这里有些例子:
https://my.oschina.net/muduclark/blog/525805
https://www.oschina.net/question/1422291_247186

2017-08-28 11:50

@dear7575 不容易啊,我花的那些回答问题的时间总算没白费

2017-08-28 11:44

用 find 系列的方法,而不要用 query 系的

find 系会将返回值封装成 Record 对明,而 query 系不做任何封装,原样返回

2017-08-28 11:33

首先通过设置断点,单步调试,看代码有没有执行 conn.rollback() 这个方法,如果执行了,只需要确保以下几件事就可以了:
1:mysql 是不是在用 InnoDB 引擎,其它引擎不支持事务
2:事务级别是否足够高,如果是 2 的话,建议调为 4 看一下:arp.setTransactionLevel(4)
3:是不是不细心,上次提交过的已成定局的数据,误认为是本次事务没有回滚

2017-08-28 11:30

只要让多个 service 处在同一个事务内就可以,也可以处在潜逃的事务内,例如:
Db.tx(new IAtom() {
public void call(...) {
serviceAaa.doIt(...); // 业务 aaa
serviceAbb.doIt(...); // 业务 bbb
}
}

如果是 业务 aaa 调用业务 bbb 也可以