2018-09-04 15:41

DaoContainerFactory 这个应该是处于 Config.java 中的一个属性,为啥要将这个字段 write 到缓存中去?

对于 Config 来说,缓存一个 String 足够了,通过 string 得到 Config 的代码:
Config config = Db.use(string);

2018-09-04 10:47

可以在 Service 层加注解,业务层事务的触发需要 Ehancer.enhance(...),jfinal 3.5 发布以后就不再需要了

2018-09-04 10:46

@童年 事务处理在文档中都有的

2018-09-04 10:46

@hheheh 中途有人动了配置而已

2018-09-04 10:18

LoginService 里的正是常量,注意看一下是用的 public static final String

当你需要改变的时候只需要改变如下两个地方:
1:LoginService 中定义的常量值
2:页面的 loginAccount

用户的唯一标识是用的一个唯一的 UUID 值,千万不要与 LoginService 中定义的常量来混淆

2018-09-03 15:02

UploadFile 时面有一个二进制的文件,这个不建议转 json ,只建议转这个对象中的部分字段,例如:
UploadFile upFile = this.getFile();
Ret ret = ret.setOk().set("fileName", upFile.geFileName());
renderJson(ret);

由于 UplaodFile 中有一个 java.io.File 对象存在,而这个对象是一个二进制文件,转成 json 应该是会出错的

2018-09-03 14:59

这种玩法还是第一次见,下面介绍另外两种玩法:
1:按 beetl 官方的配置集成到 jfinal 之中,然后 Controller.render(String) 方法就会自动使用 beetl
enjoy 引擎可以使用 renderTemplate 调用到,其它也类似:
renderJsp、renderFreemarker、renderVelocity

2:引入一个 BaseController ,在其中创建类似于 renderBeetl(String) 这样的方法实现功能,然后所有 Controller 继承这个 BaseController 即可

2018-09-03 14:55

这个应该不用整合,只要你学会使用 swagger 以后,直接用上就好, swagger 不会管你用的是 jfinal 还是 spring , 只管用

此外,在使用 swagger 时,让 jfinal 的 action 带参是最好的:
http://www.jfinal.com/doc/3-3

因为 action 带参时,可以对参数使用注解,而 swagger 在生成文档时正好要用上这类注解

2018-09-03 14:53

详细的说明见这里:
http://www.jfinal.com/doc/5-14

2018-09-03 14:53

如果使用多数据源,那么就会存在一个主数据源,其它的数据源全为“非主数据源”

主数据源是默认数据源,在使用事务时不指定数据源时,默认是开启主数据源的事务

如果要对非主数据源开启事务,则需要使用:
Db.use(非主数据源).tx(...)

或者在使用 Tx 拦截器时配置合 TxConfig 来使用:
@Before(Tx.class)
@TxConfig(非主数据源)

总之不使用 use 方法以及 TxConfig 注解时,默认是对主数据源开事务

2018-09-02 23:11

@埃克斯 这个项目好像不维护了,建议使用 swagger

使用 jfinal 的 action 带参用法,用 swagger 可直接生成文档,不必引入额外的注解

如果一定要使用 jdoc,得单步调试一下程序去哪里去找那个 jdoc_template.ftl 文件了,如果 jar 中没有,那么是要去哪里找,看看这个项目的文档怎么说的

2018-09-02 17:10

@Yank 异常信息与 dao.find 是没有关联的, 专心解决好 shiro 的问题就好

2018-09-02 12:01

#ifDefFunc 这个需求第一次被提出,确实比较实用,感谢博主的分享

2018-09-02 11:01

@天朝子民 俱乐部的 @山东小木 使用 JSP 六年多,尝试使用 enjoy 以后,坚决扔掉 JSP 了

从开发体验学习成本来说 enjoy 强大方便太多了