JFinal

登录 注册

1 快速上手

2 JFinalConfig

3 Controller

4 AOP

5 ActiveRecord

6 Enjoy 模板引擎

7 EhCachePlugin

8 RedisPlugin

9 Cron4jPlugin

10 Validator

11 国际化

12 Json 转换

13 JFinal架构及扩展

14 升级到 3.5

6.8 Shared Object扩展

    通过使用addSharedObject方法,将某个具体对象添加为共享对象,可以全局进行使用,以下是代码示例:

public void configEngine(Engine me) {
   me.addSharedObject("RESOURCE_HOST", "http://res.jfinal.com");
   me.addSharedObject("sk", new com.jfinal.kit.StrKit());
}

    以上代码中的第二行,添加了一个名为RESOURCE_HOST的共享对象,而第三行代码添加了一个名为sk的共享对象,以下是在模板中的使用例子:

<img src="#(RESOURCE_HOST)/img/girl.jpg" />
#if(sk.isBlank(title))
   ...
#end

    以上代码第一行中使用输出指令输出了RESOUCE_HOST这个共享变量,对于大型web应用系统,通过这种方式可以很方便地规划资源文件所在的服务器。以上第二行代码调用了名为sk这个共享变量的isBlank方法,使用方式符合开发者直觉。

    注意:由于对象被全局共享,所以需要注意线程安全问题,尽量只共享常量以及无状态对象。