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

本小节主要介绍一些指令的使用方法。JFinal Template Engine 中的指令非常简单且核心指令只有6个,便于学习和使用。大部分指令见名知义如:#if#for#set#include#define#(),最后一个是输出指令。

在开始指令学习之前,想先简单的介绍一下模板引擎。
什么是Web模板引擎?
答:Web模板引擎是一种生成HTML文档规范的技术实现。
为什么要使用模板去进行Web开发?
答:在特定的场景下使用模板开发可以提高开发效率,解放生产力。这样做可以让开发工作变得简单,方便。
什么场景下可以选择使用模板开发项目?
答:想偷懒的任何时候,都可以使用。举个栗子,比如下一个项目是单纯的Web端项目,不需要提供API给移动端,也不想写过多的JavaScript代码控制页面等情况。

一、编写Hello World,第一行代码

如何输出内容很关键,因为我们最终目的就是要将信息展示给用户浏览,不管是App,站点,各种管理系统。那么如何利用JFTE来进行输出呢?其实一开始我们就知道了,可以使用#()来进行输出。敲黑板,使用标准的输出指令,输出#(value)不用担心值为null的时候页面渲染出错。如果是输出对象不存在,则需要做异常处理,使用??来解决值。
1、代码速览

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JFTE测试</title>
</head>
<body>
    <h2>来啊,打我呀</h2>
    <!--JFTE输出指令使用方法-->
    #("反正隔着屏幕你也打不到我")
</body>
</html>

2、效果验证

第二行文字是通过#()指令输出

3、网页源码查看


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JFTE测试</title>
</head>
<body>
    <h2>来啊,打我呀</h2>
    <!--JFTE输出指令使用方法-->
    反正隔着屏幕你也打不到我
</body>
</html>

其实看到这里,相信你已经明白了。我们使用指令操作最终还是会被JFTE解析为正常的HTML文档。那么使用#()还可以怎么玩?请看下文。

二、把玩#()输出指令

1、改造控制器

package com.demo.login;

import com.jfinal.core.Controller;
import com.jfinal.plugin.activerecord.Db;
import com.jfinal.plugin.activerecord.Record;

public class LoginController extends Controller {

    /**
     * @author sugarYe
     * @date 2017/05/10
     * @desc 默认方法
     */
    public void index() {
        //创建user记录
        Record user=new Record();
        //添加属性值
        user.set("id", 1);
        user.set("name", "sugarYe");
        user.set("pwd", null);
        //添加user对象
        setAttr("user",user);
        //添加a,b
        setAttr("a",2);
        setAttr("b",100);
         //渲染页面
        render("userList.html");
    }
}

2、嗨翻模板输出

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JFTE测试</title>
</head>
<body>
    <h2>来啊,打我呀</h2>
    
    <!--JFTE输出指令使用方法-->
    #("反正隔着屏幕你也打不到我")
    
    <!--获取user对象的name值,并输出到页面-->
    #(user.name)
    
    <!--user1对象不存在,会抛出异常信息:
    "user1" can not be null for accessed by "user1.pwd"-->
    #(user1.pwd )
    
    <!--如果不确定对象是否存在使用??来处理,
    叫做“空合安全取值调用运算符”,简单点就是“空合运算符”-->
    #(user1.pwd ??)
    
    <!--可以在指令中使用表达式,这里演示三目(元)表达式-->
    #(a>b?'我的天呐!!!':'这算个啥???')
    
    <!--空合运算,如果对象有值就返回对象;
    如果对象的值不存在,则返回默认指定的值-->
    #(user1 ?? "sugarYe!查无此人,他应该躲在JFinal俱乐部!")
    
    <!--调用对象的方法,而不输出内容-->
    #(user.get("name"),null)
    
    <!--直接调用对象方法,进行输出-->
    #(user.get("id"))
    
    <!--不进行输出-->
    #(1234,null)
</body>
</html>

酱紫,就已经掌握了3个指令。接下来会继续讲#if#for#set指令。祝大家学习愉快!
PS:5月14日,母亲节记得给母亲打个电话,问声好!有条件的给母亲准备点小礼物,回家看看,一起吃吃饭!没有什么比一家团圆在一起还重要了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容