enjoy 访问不到静态方法

engine.addSharedObject("cls", new DictUtils());

cls.test();  访问不到

a.b.c.DictUtils::test()  这样可以。。。。


评论区

JFinal

2017-09-03 22:09

这个必然是配置错误,一定要注意,每一个 engine 对象都是独立的,不同场景下使用的 engine 对象是不同的

configEngine(Engine engine) 下配置的 engine 对象对应于 render 方法相关模板使用的 engine 对象

而别的地方配置的则与 configEngine(Engine engine) 中配置的 engine 没有关系,仔细看一下文档

doocal

2017-09-03 22:26

@JFinal 没太明白,文档没看出什么来。。。。
@RequestMapping(value = "info")
public String info(Engine engine, Model model) {
engine.addSharedObject("DictUtils", new DictUtils());
return "module/user/userInfo";
}

应该怎么配???

JFinal

2017-09-03 22:28

@doocal info(Engine engine) 这方法中的 engine 从哪里来的?

doocal

2017-09-03 22:40

@JFinal 好像第5章的扩展章节也没有特殊的说明。。。

JFinal

2017-09-03 22:47

@doocal 仔细看一下 6.11.3 Engine对象管理

doocal

2017-09-03 22:51

@JFinal 我只用了enjoy-3.2, enjoy 3.2.PDF 里面并没有你讲的6.11.3 的章节。

doocal

2017-09-03 23:02

@JFinal 7.4 有。。。我来看看。

JFinal

2017-09-03 23:04

engine.addSharedObject("cls", new DictUtils()); 这行代码的 Engine 对象是怎么被创建出来的,后续在使用 engine 对象解析模板获取 Template 对象要确保是同一个 engine 对象,只有这样在前面的配置才能被应用上

我举个例子,看以下两行代码:
Engine.use().engine.addSharedObject("cls", new DictUtils());
Engne engine = new Engine();
第一行代码中对 engine 对象的配置,将与第二行代码中的 engine 对象毫无关系

有关系的用法如下:
Engine.use().engine.addSharedObject("cls", new DictUtils());
Engne engine = Engine.use();

JFinal

2017-09-03 23:05

在首页下载 jfinal 手册,里面的 6.11.3 Engine对象管理,适用于 enjoy

热门反馈

扫码入社