2019-12-26 14:57

jfinal 中整合的第三方,全都是 scope = provided, 不会强制你在项目中引入这些依赖 ,切实用到的时候才需要引入

2019-12-26 14:56

因为 pom.xml 中对其的引入是 scope = provided 配置

jfinal 无任何第三方依赖,你在不用到 ehcache 的时候,不需要引入这些依赖

2019-12-26 10:36

@Dull 在 java 代码中的 "null" 输出到模板中的时候是不会带双引号的,因为双引号只是 String 的定界字符,而不是字符串中的内容部分。

不光是输出到模板中,你输出到控制台也是一样不会有双引号的,例如:
System.out.println("null");

2019-12-26 10:24

先看一下控制台输出的 jfinal action report 中的 parameter 这一栏,如果是 key = value 形式的传参,就不能使用 HttpKit.readData(...) 也不能使用 getRawData(),这两个方法是接收 http body 内数据的方法

2019-12-26 10:22

@Didier 用 nginx 的好处太多了,它接管静态资源将极大降低 CPU 占用率。在一台机器上面部署多个 web 十分方便

2019-12-26 10:20

@Dull 这种坑就需要仔细调试才能找出来了

昨天我已经看到一个奇怪的地方,你的 #(article.cover) 居然输出了 null , 而 enjoy 的输出指令碰到 null 值时是不会有任何输出的

所以,昨天应该从我上面这个发现着手,应该要想到 article.cover 的 toString() 是 "null"

2019-12-26 10:18

@nani 你现在用的 jfinal.com 官网就是用的 ehcache 来缓存 sessoin 的,在重启以后你照样可以登录,数据不会丢失,这里你要检查两个问题:
1:ehcache 存放文件有一个目录,该目录你要找到,检查一下是不是有什么机制将你的文件删掉了
2:检查 ehcache.xml 中的配置,如果需要缓存重启以后可以保留,需要配置中有下面的东东:
diskPersistent="true"

2019-12-25 23:51

很可能是作用域的问题,注意在你的指令里头使用 scope.set(key ,value),不要使用 scope.setLocal(...),也不要使用 setGlobal(key, value)

前面那个会自动处理作用域的问题,后面两个一个是在顶层直接入变量,另一个是在底层直接放变量

你碰到的这个问题,可以在 Scope 的 setter、getter 方法中设置断点,一下就明白了

我估计你在 ArticelDirective 中使用 Scope 时出了问题,将这块代码贴出来吧

2019-12-25 20:48

在 init 方法中设置一个断点,然后当断点停下来的时候查看调用栈,就知道是谁在调用了,并且流程也清楚了

2019-12-25 18:17

jfinal 俱乐部有不少接项目的小伙伴,而且很多项目代码是现成的,改改就完事:
https://jfinal.com/club

2019-12-25 17:30

那种是用 context path 来区分不同 webapp 的, undertow 也支持这种用法,但需要对它进行配置,你试试 UndertowServer.create(...).configWeb(...) 来进行配置,jfinal 文档中有关于 configWeb 的用法

不建议这么来用,而是让不同的项目跑在不同的 jfinal-undertow 下,使用不同的端口号,最后使用 nginx 来反向代理一下这所有的项目,很方便

2019-12-25 15:53

@chcode 知道扩展 DbPro, 看来是高手啊, 赞

2019-12-25 15:32

@chcode 我感觉你说的值得深入研究,得仔细看 mysql 官方文档

2019-12-25 15:31

@也许这就是萌新吧 具体怎么加的,去个人空间可以编辑这篇文章,将添加的方法追加进去

这个知识对后来者很有用,我也想知道具体的加法,好多年没用过本地 jar 包了

2019-12-25 15:05

@也许这就是萌新吧 这个就奇怪了,检查一下 package.xml 与 pom.xml , 会不会是配置有误?

再一个重点:要仔细分析异常信息,异常说找不到 BController,应该还有别的信息可以看