2019-01-10 11:50

#for 指令可以对 List、数组、Map、Set 等类型迭代,不能对 String 内部的数据进行迭代

你的 json 变量看上去是一个 String 类型,将其转换成 Map 类型再迭代即可, 文档中说得很清楚

2019-01-10 11:48

或许 inv.getViewPath() 就是你想要的值,该值是 baseViewPath + viewPath 形成的

2019-01-10 11:47

baseViewPath 只存在配置阶段, jfinal 启动时,会将 baseViewPath 与 viewPath 进行拼接,无法通过简单手段去获取 baseViewPath

可以在拦截器中通过 inv.getViewPath() 获取拼接后的 viewPath

如果上面这个 viewPath 不是自己想要的,可以在 YourJFinalConfig 中将 Routes me 这个对象用 static 存起来,然后在别的地方使用

2019-01-10 11:44

renderJson 不会去找文件,也不需要找文件,所以 FileNotFoundException 这个异常在正确使用的情况下不可能出现

可能的原因是你的拦截器中没有走 inv.invoke() 这行代码,造成 renderJson() 根本没被调用,单步调试确认一下

2019-01-10 11:42

Model 体系内才有 attr 这一说,而 Db + Record 模式是没有与数据表进行过映射的,所以里头的 API 需要自己来控制字段的正确

2019-01-09 17:40

应该是配置不对,下载本站首页的 jfinal demo for maven,拿到里头的 pom.xml 与 package.xml 用上就好

2019-01-09 16:54

看打包时的控制台有没有出现异常,如果没有异常,看 package.xml 中有没有配置输出 zip

2019-01-09 16:28

异常 cause 部分呢?

2019-01-09 15:40

engine.getTemplateByString(...).render(...) 即可

也可以扩展 ISource , 出来个 DbSource implements ISource,然后:
engine.getTemplate(new DbSource(...)).render(...);

2019-01-09 11:28

@lyf78062919 对了,修改一下本贴子,将你开启 IDEA 的 auto make 方式贴上来,或许是这里出的问题

这里也有一些相关的资源:
https://www.jfinal.com/doc/1-5

2019-01-09 11:26

@lyf78062919 或许是 IDEA 在 automake 时会先删掉 target/classes 下所有资源,然后再一次性生成,这个就有点慢

eclipse 的自动编译就不是上面的处理方式

2019-01-09 11:23

对的

batch 操作提速的核心是,多行数据共享一条 sql, 而这条 sql 你必须要决定如何生成,最自然的办法就是根据你提供的多行数据的第一条数据为蓝本去生成

这个是没办法的事情,如果你确实找到更好的办法,一定要提给我

2019-01-09 11:21

@lyf78062919 刚刚看到了, class loader 中重试这个不太好,性能会有所影响

有些类在 HotSwapClassLoader 中无法加载的类,需要尽快抛出异常,让其它的 class loader 来加载,这种情况就会拖慢性能,虽说一次时间不多,但累积起来会很可观

得再找别的解决办法

最后,貌似这个问题只有你碰到了

2019-01-09 10:43

@lyf78062919 这是一个很好的探索,将你的改进代码分享出来啊