2019-09-12 11:44

@doubuxingle MixedJsonFactory 与 JFinalJsonFactory 会将 getter 方法当成不存在,所以不依赖于 getter 方法转 json

而 FastJsonFactory 只处理 getter 方法来转 json

具体到你的场景,建议使用 jfinal 的生成器先生成 getter 方法,然后配置成:
me.setJsonFactory(new FastJsonFactory());

至于关联查询得到的字段,如果你希望还是得到驼峰形式的字段名,手动在最终的 Model 中适当添加 getter 方法即可

如果为了省事,对于关联查询得到的值,使用非驼峰

2019-09-12 08:05

@doubuxingle 我自己的项目是这么来用的:
1:me.setJsonFactory(new MixedJsonFactory());
2:数据库字段弄成驼峰形式

2019-09-10 23:08

@码农 注意看一下这篇文档:
https://www.jfinal.com/doc/4-5

其中讲到了注入的一些原理

再一个,建议在 AopFactory 中设置断点,调试进去看看程序走向,一定可以解决的

我估计是因为对象的创建并不是 jfinal 接管的,所以不能使用 @Inject ,这种情况使用 Aop.get(...) 或者 Aop.inject(...) 即可

2019-09-10 17:50

Template 是线程安全的,所以在 enjoy 内部 Template 对象是被缓存的,被缓存可确保模板只被解析一次,后面可以无数次去使用

确保线程安全的主要措施就是:将不是线程安全的参数通过 render 方法参数传递进去,例如:
Template.render(Map data, Writer writer);

上面的 data、writer 参数线程不安全,所以让其通过 render 方法传入,确保了非线程安全参数与 Template 对象的分离,从而确保了 Template 可以采用线程安全设计并缓存,从而可以极大提升效率

2019-09-10 17:43

@1659811173 在这个页面按一下 ctrl + F 组合键,再输入 spring ,删完 spring 再输入 jfinal

你会发现,你提供的异常信息中,既不包含 spring 也不包含 jfinal

在这种信息量之下,神仙也不可能知道你在问什么

这个还不是知不知道如何解决的问题, 而是根本不知道你在问什么的问题

2019-09-10 15:53

这个配置与验证码完全无关,肯定是别的问题,细心排查一下

2019-09-10 15:52

@flash866 加入了俱乐部,俱乐部有一套专享代码,所以他手头就有了 @haoxiguan

肯花点小钱投资自己的,恰恰才是最能为自己省钱的,时间才是最大的成本

2019-09-10 12:18

其实这类问题,只要是从官网下载 jfinal_demo_for_maven,从中获取 pom.xml 中的插件,就不会出错

2019-09-10 12:17

将 "compilerArguments" 改成 "compilerArgument" 即可

也即,去掉 compilerArguments 最后面的字符 's'

2019-09-10 12:15

这个问题确实是这样

redirect 这个功能历史很久了,后面想改为支持 baseViewPath 会有兼容性问题

好在 redirect 用得还不算多

2019-09-10 12:09

@tyk1994 是否能在工作中使用 jfinal 并不是最重要的,更重要的是你能从 jfinal 的源码、设计中获取到价值,这些收获用到 spring 开发的项目中一样有用

如果自己做自己的东西,可以用 jfinal ,有不少人用 spring 是因为公司强制

此外,在 spring 中可以用上 jfinal 的 enjoy 以及 active record 模块,这两个模块早已独立成单独的项目,可以直接引入 maven 依赖来使用

2019-09-09 22:42

可能是有外部请求将你所在 ip 的服务器当成是代理服务器,或者是你所使用的 ip 以前为外部提供 API 服务

因此,有些外部请求仍然导向了你的 ip,这些请求被 undertow 接收到,并被处理成了异常

这种情况很少,只有两三个同学反馈过,我自己从来没有碰到过

你可以追踪一下请求来自的 ip,屏蔽掉这些请求,不建议处理,顶多只是通过配置 log4j.properties 忽略这类异常

2019-09-09 17:21

@Gevin 看一下 class path 下面有没有 MyConfig.class 文件,可能是自动编译没有打开

异常提示找不到这个 .class 文件,可能是真找不到,所以去看看现场:
target/classes 下面去看看

2019-09-09 17:14

@walking_ action 是最细粒度的存在,所以将所有动作的权限都与 action 建立起来以后问题都解决了

你前面提到的场景应该也可以在这个方案下去满足,你再多想想如何让其融入到当前的方案之下

2019-09-09 16:40

@walking_ 让界面中的每一个动作都对应后端的一个 action, 一一对应用统一管理起来,多看看 jfinal club 中的用法