2020-03-16 18:34

可以试试用纯 JDBC 来试验一下,工作正常以后再弄到 jfinal 中使用,试验方法如下:
Connection conn = DbKit.getConfig().getConnection();
以上代码先获取 JDBC 的 Connection 对象,然后用它来执行你的 sql ,大概率也是会出问题的。 然后你再调整用法, 确保 JDBC 下可以正常工作, 那么也就确保了 jfinal 下也可以工作

因为 jfinal 仅仅只是对 JDBC 做了一层极薄封装

2020-03-16 18:32

jfinal 并未干预过这个过程,肯定是与 jfinal 无关的

我从来没这么用过,给不到建议

2020-03-16 18:31

可以被注入, 但你要先确保 TeacherService 这个对象本身也是被注入的

具体来说就是你的 TeacherService 需要放在 Controller(Interceptor 也可以)中,像这样:
public class MyController extends Cotroller {
@Inject
TeacherService teacherService;

...
}

以上这样的用法,控制器首先被入 TehacerService,在注入 TeacherService 的时候其内部的 UserDao 才能被注入

简单来说,注入需要有一个触发的时机,这个时机是从 controller 传递过来的

2020-03-16 18:27

业务层的拦截器触有两种方法,一种是在 controller 中通过 @Inject 注入业务层,另一种是通过 Aop.get(XxxService.class) 创建业务层对象

以上两种方式才能让拦截器被应用上,否则拦截器是无法被触发的,检查一下

2020-03-16 12:14

尝试配置 /etc/my.cnf , 指定 mysql 的数据库数据目录,我记得是配置 datadir 这个变量,具体你要去网上搜一搜

2020-03-16 11:47

@WJME quartz 太庞大,要引入很多 jar 包, 而 cron4j 则十分轻量小巧

并且,quartz 的使用本质与 jfinal 是无关的,只要会用 quartz 就可以用了,所以 jfinal 也无需对 quartz 进行过多干预

2020-03-16 11:45

第一个 isContains 缺少右扩号,注意扩号要匹配好

2020-03-16 11:36

@Jeanna plugin management 标签会引发大量的 jar 包下载

2020-03-16 11:35

比官方文档在详细,已经在官方文档中添加了对本篇分享的链接,感谢分享

2020-03-16 11:29

@zz210891470 renderJson 转换时有默认格式,可以配置:
me.setJsonDatePattern("yyyy-MM-dd");

上面是配置默认行为,还可以临时指定,例如:
String jsonString = Json.getJson().setDatePattern("yyyy-MM-dd").toJson(object);
renderJson(jsonString);

上面的代码,先临时设置 datePatten,然后转换出 String 类型的 json 结果,最后传 递给 renderJson(jsonString);

2020-03-15 23:29

注意看一下有关 json 转换的文档:
https://jfinal.com/doc/12-1

一般来说,你可以通过 model.put("taksargs", taskargs) 来放入数据,然后再转换

2020-03-15 23:28

jfinal 默认使用 JFinalJson.java 这个 Json 实现类来转换为 json string, 而它是对 Model 中的 Map attrs 进行转换,完全不会理会你在 model 中手动加的 List taskargs;

你可以配置为使用 FastJson.java 来转换:
me.setJsonFactory(new FastJsonFactory());

FastJson.java 是根据你的 getTaskargs() 方法来转换的,但它完全不理会 Map attrs

2020-03-15 23:24

@zlsj80 jfinal.com 官网采用的办法是:不使用 getSession(...) setSessionAttr(...) 这类 API。 而是使用 setCookie("jfinalId", sessionId的值) 这种方式来保存用户登录后的 sessionId 值

如果你用到 tomcat 这类容器,也是有办法配置这个值的,但这种配置不灵活,要在你的项目中自主控制才是最方便的

2020-03-15 20:35

@zlsj80 改一下 sessionid 的值,让不同的项目拥有不同的 id 值就不会有问题了

例如本站 jfinal.com 用于登录的 session 的 name 为 jfinalId

2020-03-15 20:34

enjoy 的数值运算完全依赖于 java 内部的规则,只是输出的时候需要指定格式

需要用到 #number 指令来输出,输出的格式仍然使用 java 原有规则,不增加任何学习成本,注意看 #number 指令:
https://jfinal.com/doc/6-4

由于 #() 输出指令不指定格式,所以就跟 System.out.println(...) 输出的行为一样