[技术分享] ActFramework 入门指南——Rythm 模板引擎

 <!DOCTYPE html>
 <html lang="en">
 @args String who <head>
   <title>Hello World - ActFramework</title>
 </head>
 <body>
   <h1>Hello @who</h1>
   

     Powered by ActFramework @act.Act.VERSION.getVersion()   

 </body>  </html>

这是默认生成的 AppEntry 的 home 方法的模板。

Rythm 对比其他模板引擎来说,看起来最大的不同就是,他需要显示的声明变量,和变量类型。 @args String who 代表了 声明一个 名为 who 的 String 类型变量。 这里的 String 就是 java.lang.String 。 然后再需要输出这个变量内容的时候,写上@ + 变量名 就可以了。

可能有些同学要问了,如果我要声明一个实体变量怎么办。 很简单,你可以@args Entity name ,就好了。 你不会真的以为这么简单吧? 没那么简单,但是也不会很难,你只需要先导包。 @import com.IceCreamQAQ.test.entity.Entity;

有些同学可能会想,我是在写 Java 吗?还要先导包? 对的!没错! 你就是在写 Java 。 Rythm 的模板文件,在被载入的时候会被 Rythm 动态生成成一个 Java Class,并通过这个类完成渲染。 所以,你看起来在写模板,实际上还是在写 Java 。

在你写在@之后的代码都会被转意成Java代码。 同理,如果你想使用某个工具类的某个静态方法,你可以 @com.IceCreamQAQ.test.util.Utils.method() 你还可以在括号里面写参数(也可以用之前声明过的变量,此时就不需要加@符号了)

@if 逻辑判断语句,结构是

@if(boolean){    //输出内容}else{    //否则输出内容}

当然 else 块是可选的。 不过需要注意的是,大括号内的内容会被直接输出,而不是被转意成 Java 代码。 所以要在大括号块内进行操作,仍需要 @ 符号的帮助。