2018-03-19 11:43

只有 Model 与传统 java bean 才支持 getModel 与 getBean

有人针对 record 扩展过 getRecord(...),你可以搜索一下,或者自己参考 getModel 方法扩展一下也可以

参考 getModel 扩展 getRecord 的时候有一个要注意的地方:Record 并没有与数据库字段进行过对应,所以从前端表单获取来的数据,你必须得自行决定转换成什么类型

表单过来的数据默认全是 String 类型

2018-03-18 20:52

换成下面的配置试一下
《dependency》
《groupId》net.sf.ehcache《/groupId》
《artifactId》ehcache-core《/artifactId》
《version》2.6.6《/version》
《/dependency》

2018-03-17 21:37

此外,可以试一下在 pom.xml 中使用 maven jetty plugin 来启动项目,或者用 tomcat 启动项目

或许是 jfinal 集成的 jetty 启动方式对 maven 有影响,记得搞定后回来分享一下

2018-03-17 21:36

@szs 对于 jfinal 来说 maven 是不可见的,jfinal 是无法去干预 maven 的行为的,jfinal 源代码中没有任何代码是涉及 maven 的

站在上面的角度应该不是 jfinal 的原因,当然也不排除一些不曾预料的原因,但是大概率来说是与 jfinal 无关的

2018-03-17 14:23

@没有顺风的船 新版本默认用的 enjoy,所以 render(String) 这个方法是用的 enjoy,而你以前用的 jsp,所以要将 render(String) 改成 renderJsp(String)

2018-03-17 14:21

@狄二 我自己大量在这么使用,没有报错,所以这个问题很奇怪

你再添加个 static 试试,按理说加不加都可以的

2018-03-17 12:13

@狄二 这么用试一试: Enhancer.enhance(Device.class);

2018-03-17 12:00

这个错误比较奇怪,从来没碰到过,升级一下 cglib 试一下,java 8 运行某一版本的 cglib 会出错

此外,建议直接升级 jfinal,因为新版本 jfinal 使用了较高版本的 cglib

2018-03-17 11:22

@没有顺风的船 在 YourJFinalConfig 中添加下面代码试一下:
public void afterJFinalStart() {
ModelRecordElResolver.setResolveBeanAsModel(true);
}

此外,如果你是用的 weblogic,注意看一下 com.jfinal.ext.kit.ElResolverListener.java 这个代码中的注释,需要将 ElResolverListener 配置到 web.xml 中去。 tomcat、jetty 之类的容器可以不用理会

2018-03-17 11:11

随着 chrome 强制标识非 https 网站为不安全的期限越来越近,这个分享的价值越来越大,jfinal.com 也将择日转成 https,感谢你的分享

2018-03-17 11:08

去掉这一行试试:
druidPlugin.setValidationQuery("SELECT 1 FROM DUAL");

我记得 DruidPlugin为 validation 给过默认配置,或许你的配置覆盖掉默认配置后反而不正常

2018-03-17 11:07

看一下 druid 的官方文档,看有没有提供这个功能,jfinal 中的 DruidPlugin 仅仅是包装了一下 druid 方便使用

2018-03-17 11:06

检查一下用的是 jfinal 哪个版本

由于 jstl 数据读取能力较弱,jfinal 较新的版本对其进行了扩展,出现这个异常有可能是你在用比较老的版本

注意一下是不是依赖多个 jfinal 版本造成的

2018-03-16 17:42

问题错误地发布在了分享频道,随后会被删除,请知悉