分析下jfinal cms的标签如何写?

控制 发布于 2012/12/19 11:22
阅读 1K+
收藏 2

比如cms建站使用的栏目,新闻,文章等模板。

 

如果使用freemarker作为模板引擎,请问是否会使用spring plugin,

因为freemarker作为模板引擎可以定义丰富的标签,而且内置对spring的支持,

这样可以把通过spring把freemarker自定义的标签和jfinal联系起来。

加载中
1
JFinal
JFinal

    在 @JFinal 之下使用FreeMarker自定义标签可以完全不需要 spring,并且使用自定义标签更加容易,这篇博文是具体使用方法:http://my.oschina.net/yongtree/blog/92309

    除此之外,JFinal 下还有另一种扩展FreeMarker的用法:

1:自义一工具类,假定叫 MyKit, 在其中定义一些工具方法,如

public class MyKit {
  public String hello(String name) {
    return "hello " + name;
  }
}

2:使用在 YourJFinalConfig.afterJFinalStart()中将上面的工具类对象存为FreeMarker共享变量,如:

public class YourJFinalConfig extends JFinalConfig {
  public void afterJFinalStart() {
    FreeMarkerRender.getConfiguration()
    .setSharedVariable("myKit", new MyKit());
  }
  // other code here
}

3:在FreeMarker 视图中直接使用使用,如

<html><head></head><body>
${myKit.hello("JFinal")}
</body></html>
    以上用法,也可以不使用第二步中的setSharedVariable来注册,在拦截器或Controller中通过 setAttrs("myKit", new MyKit())也一样可以。
菜根乱谭
菜根乱谭
我现在也改成直接在config类中直接注册freemarker变量了。
返回顶部
顶部