2020-08-04 15:16
@jfinal爱好者22 在 controller 中通过 @Inject 可以注入,也可以通过 Aop.get(...) 实现
2020-08-01 17:38
@李通 通过看你的视频,得知问题其实很明显, Model 是一个抽象类,是不允许被创建实例的,所以 objClass.newInstance() 必然报异常
你在 spring 中能用,很可能是因为你在 spring 中创建的类并 "不是抽象类",而是一个具体类,也就是说 spring 中你能获取到传入泛型的具体类型,而在 jfinal 中你没有获取到
没有获取到的原因很可能是泛型获取的时间太早了,因为 controller 中 action 的初始化是在启动时进行的
你试着将 LayuiCurdControler 改成不用 action 参数注入而是使用 getBean 来解决:
public class LayuiCurdControler 《E extends Model《E》》 extends Controller {
public void saveOrUpdate() {
Class beanClass = getBeanClass();
Model model = getBean(beanClass, "", true);
renderJson(...);
}
}
以上有两个关键点:
1: saveOrUpdate 方法不要给定形参,而是在方法体内部用 getBean或者 getModel 来实现
2:通过 getBeanClass() 来获取当前泛型传递过来的具体类型,具体到你演示的例子中,值为 DbConnectionInfo.class
getBeanClass() 中可以利用 java 的一些反射 API 来获取
2020-07-31 13:19
@Erica 在 qq 里面搜索群: jfinal,然后在群里面 @ 我