2017-09-20 14:14

再补充一下,配置了 me.setSourceFactory(ClassPathSourceFactory()) 以后,引擎是从 classpath 下面去找模板,由于使用的是 Resource 类加载的资源,也就没再显示绝对路径,这种情况下,你只需要以 class path 为根去定位就好

如果没有使用 ClassPathSourceFactory,那么在找不到模板文件时,引擎会提示全路径及文件名

2017-09-20 14:12

me.setSourceFactory(ClassPathSourceFactory()); 这行配置是从 class path 以及 jar 包里面加载模板文件,而你的模板文件在 webapp 的某个子目录下面,那么就不要配置 setSourceFactory,而使用默认配置

如果你的模板文件是放在标准 maven 项目的 src/reoureses 下面的,则可以使用 ClassPathSourceFactory,因为该目录下面的文件会被编译器放在 class path 下面去

通常情况下使用 ClassPathSourceFactory 不需要配置 setBaseTemplatePath(...),则是默认从 class path 根去找模板文件

2017-09-20 11:30

下载本站首页的 jfinal demo,里面有一个 _JFinalDemoGenerator.java,右键点击运行即可自动生成 baseModel model 以及与数据表的映射关系,不需要手工处理这些事情

2017-09-20 11:24

@小蜗牛 只有采用了主键让 model 对象与表记录关联起来,才可以用 model.update()、 model.delete() 这类不带参的方法来操作数据

否则,形式必然是这样的:xxx.update(idValue)

2017-09-20 11:22

注意看 jfinal 手册第 9.2 章节,其中的“天”的值是从 1 到 31,而你设置为了 0,显然会报错

2017-09-20 11:11

@小蜗牛 jfinal 的 model 使用的是 active record 模式,这个模式的基本出发点就是:一个 model 对象唯一对应表中的一条记录,而对应关系统使用的是主键。

因此,主键必不可少,否则 active record 模式就无法正常运转

2017-09-20 11:03

@healerqwer 20多 M 不至于内存溢出,你可以尝试边接收数据,边往文件里面存,处理的时候再从文件中读取出来

这个问题本质上与 jfinal 无关了,利用好已学的 java 知识解决就好

2017-09-20 10:45

@macaque 取到的是空,添加个 if 判断,多一到两行代码而已

2017-09-20 10:43

看一下 druid 的官方文档,我记得是 druid 默认就有重连机制,不需要自己干预,能干预的就是重连的时间设置

2017-09-20 10:43

千万记住:jfinal 扩展性极强,jfinal 几乎任何组件都可以扩展

2017-09-20 10:42

@macaque 仍然是一行代码打完收工:
inv.getController().getRender().setView(newView);

2017-09-20 10:26

@无聊2356 业务层事务可以用注解,也可以用 Db.tx(...) 来做,建议用 Db.tx(...)

2017-09-20 10:25

一行代码打完收工:
inv.getController().getRender().getView();

2017-09-20 10:23

如果你的 txt 文件中是 sql 语句,可以通过 java 逐条读出,然后通过 Db.update(sql) 来导入到 oracle 中

2017-09-19 21:50

@exxxia 最新版本的 demo 已经添加过 service 层了,建议参考一下