JFinal3.0快速上手,遇见模板引擎(二十二)

这一小节,我们将一起玩2个好玩的技能点,第一个是通过java类来增强JTE(JFinal Template Engine);第二个是通过共享对象来增强JTE。好啦,让我们一起开车!

1、为什么需要使用java类增强指令?

个人的愚见是:在模板上最好还是写一些简单明了的代码,稍微复杂一点的代码还是写在java类的业务层;当然这样也让代码具有可重用性。

使用java类增强JTE无需继承任何类或者实现接口,这是一个比较好的地方,这样做可以实现解耦。首先我们得编写一个普通的java类,并定一个或多个方法。在Now类中,编写一个SayHello()方法,该方法接受一个String类型的参数,代码如下:

package com.demo.test;
public class Now{
    public String SayHello(String name){
        return "hello "+name+",欢迎你进入王者峡谷!";
    }
}

代码已经写完了,那总得有个配置的地方吧?我们得通知jfinal,这是需要添加的方法。是的,我们只需要在模板引擎的配置项中配置需要增强的java类的实例即可。使用方法如下:

    public void configEngine(Engine me) {
        //添加共享方法的java类实例
        me.addSharedMethod(new Now());
    }

到此为止,即可编写HTML页面代码,并调用SayHello方法。





jfinal模板引擎之二十二


#(SayHello("yetangtang"))


好激动,一起来查看效果!

JFinal3.0快速上手,遇见模板引擎(二十二)_第1张图片
真是一个有趣的实验

2、通过共享对象增强JTE

从标题其实就可以理解,其实这个黑科技就是添加全局的对象来方便操作。接下来,我们需要改造上面的方法。第一步,先去修改配置。

    public void configEngine(Engine me) {
        //假装Now类,是一个工具类
        me.addSharedObject("my_util", new Now());
        //假装SayHello的人不会有什么变化,是不是有点常量的赶脚
        me.addSharedObject("yetangtang","sugarYe");
    }

是时候改造模板页面上的代码,见证奇迹了。通过代码可以看出来是直接通过对象名调用方法的,跟前面的方法调用有所不同。





jfinal模板引擎之二十二


#(my_util.SayHello(yetangtang))


老规矩,有图有真相。

JFinal3.0快速上手,遇见模板引擎(二十二)_第2张图片
完美实现

PS:好了,小伙伴们,祝你们学习愉快!请更多的阅读官方文档。如果想和更多的小伙伴一起愉快的写代码,可以加490373584(qq群,嘻嘻~)!

你可能感兴趣的:(JFinal3.0快速上手,遇见模板引擎(二十二))