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方法。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jfinal模板引擎之二十二</title>
</head>
<body>
#(SayHello("yetangtang"))
</body>
</html>

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

真是一个有趣的实验

 

2、通过共享对象增强JTE

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

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

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

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jfinal模板引擎之二十二</title>
</head>
<body>
#(my_util.SayHello(yetangtang))
</body>
</html>

老规矩,有图有真相。

3完美实现

 

PS:好了,小伙伴们,祝你们学习愉快!请更多的阅读官方文档。


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值