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

本小節(jié)主要介紹一些指令的使用方法萎羔。JFinal Template Engine 中的指令非常簡單且核心指令只有6個,便于學(xué)習(xí)和使用溯饵。大部分指令見名知義如:#if旗们、#for亲配、#set套耕、#include谁帕、#define#()冯袍,最后一個是輸出指令匈挖。

在開始指令學(xué)習(xí)之前,想先簡單的介紹一下模板引擎康愤。
什么是Web模板引擎儡循?
答:Web模板引擎是一種生成HTML文檔規(guī)范的技術(shù)實現(xiàn)。
為什么要使用模板去進(jìn)行Web開發(fā)翘瓮?
答:在特定的場景下使用模板開發(fā)可以提高開發(fā)效率,解放生產(chǎn)力裤翩。這樣做可以讓開發(fā)工作變得簡單资盅,方便调榄。
什么場景下可以選擇使用模板開發(fā)項目?
答:想偷懶的任何時候呵扛,都可以使用每庆。舉個栗子,比如下一個項目是單純的Web端項目今穿,不需要提供API給移動端缤灵,也不想寫過多的JavaScript代碼控制頁面等情況。

一蓝晒、編寫Hello World腮出,第一行代碼

如何輸出內(nèi)容很關(guān)鍵,因為我們最終目的就是要將信息展示給用戶瀏覽芝薇,不管是App胚嘲,站點,各種管理系統(tǒng)洛二。那么如何利用JFTE來進(jìn)行輸出呢馋劈?其實一開始我們就知道了,可以使用#()來進(jìn)行輸出晾嘶。敲黑板妓雾,使用標(biāo)準(zhǔn)的輸出指令,輸出#(value)不用擔(dān)心值為null的時候頁面渲染出錯垒迂。如果是輸出對象不存在械姻,則需要做異常處理,使用??來解決值娇斑。
1策添、代碼速覽

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

2毫缆、效果驗證

第二行文字是通過#()指令輸出

3唯竹、網(wǎng)頁源碼查看


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JFTE測試</title>
</head>
<body>
    <h2>來啊,打我呀</h2>
    <!--JFTE輸出指令使用方法-->
    反正隔著屏幕你也打不到我
</body>
</html>

其實看到這里苦丁,相信你已經(jīng)明白了浸颓。我們使用指令操作最終還是會被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 默認(rèn)方法
     */
    public void index() {
        //創(chuàng)建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 )
    
    <!--如果不確定對象是否存在使用??來處理,
    叫做“空合安全取值調(diào)用運算符”佃扼,簡單點就是“空合運算符”-->
    #(user1.pwd ??)
    
    <!--可以在指令中使用表達(dá)式偎巢,這里演示三目(元)表達(dá)式-->
    #(a>b?'我的天吶!<嬉压昼!':'這算個啥?瘤运?窍霞?')
    
    <!--空合運算,如果對象有值就返回對象尽超;
    如果對象的值不存在官撼,則返回默認(rèn)指定的值-->
    #(user1 ?? "sugarYe!查無此人似谁,他應(yīng)該躲在JFinal俱樂部傲绣!")
    
    <!--調(diào)用對象的方法,而不輸出內(nèi)容-->
    #(user.get("name"),null)
    
    <!--直接調(diào)用對象方法巩踏,進(jìn)行輸出-->
    #(user.get("id"))
    
    <!--不進(jìn)行輸出-->
    #(1234,null)
</body>
</html>

醬紫秃诵,就已經(jīng)掌握了3個指令。接下來會繼續(xù)講#if塞琼、#for菠净、#set指令。祝大家學(xué)習(xí)愉快彪杉!
PS:5月14日毅往,母親節(jié)記得給母親打個電話,問聲好派近!有條件的給母親準(zhǔn)備點小禮物攀唯,回家看看,一起吃吃飯渴丸!沒有什么比一家團(tuán)圓在一起還重要了侯嘀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市谱轨,隨后出現(xiàn)的幾起案子戒幔,更是在濱河造成了極大的恐慌,老刑警劉巖土童,帶你破解...
    沈念sama閱讀 222,681評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件诗茎,死亡現(xiàn)場離奇詭異,居然都是意外死亡献汗,警方通過查閱死者的電腦和手機(jī)敢订,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,205評論 3 399
  • 文/潘曉璐 我一進(jìn)店門栅组,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人枢析,你說我怎么就攤上這事∪恤铮” “怎么了醒叁?”我有些...
    開封第一講書人閱讀 169,421評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泊业。 經(jīng)常有香客問我把沼,道長,這世上最難降的妖魔是什么吁伺? 我笑而不...
    開封第一講書人閱讀 60,114評論 1 300
  • 正文 為了忘掉前任饮睬,我火速辦了婚禮,結(jié)果婚禮上篮奄,老公的妹妹穿的比我還像新娘捆愁。我一直安慰自己,他們只是感情好窟却,可當(dāng)我...
    茶點故事閱讀 69,116評論 6 398
  • 文/花漫 我一把揭開白布昼丑。 她就那樣靜靜地躺著,像睡著了一般夸赫。 火紅的嫁衣襯著肌膚如雪菩帝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,713評論 1 312
  • 那天茬腿,我揣著相機(jī)與錄音呼奢,去河邊找鬼。 笑死切平,一個胖子當(dāng)著我的面吹牛握础,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播揭绑,決...
    沈念sama閱讀 41,170評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼弓候,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了他匪?” 一聲冷哼從身側(cè)響起菇存,我...
    開封第一講書人閱讀 40,116評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎邦蜜,沒想到半個月后依鸥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,651評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡悼沈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,714評論 3 342
  • 正文 我和宋清朗相戀三年贱迟,在試婚紗的時候發(fā)現(xiàn)自己被綠了姐扮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,865評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡衣吠,死狀恐怖茶敏,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情缚俏,我是刑警寧澤惊搏,帶...
    沈念sama閱讀 36,527評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站忧换,受9級特大地震影響恬惯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜亚茬,卻給世界環(huán)境...
    茶點故事閱讀 42,211評論 3 336
  • 文/蒙蒙 一酪耳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧刹缝,春花似錦碗暗、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,699評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至厨疙,卻和暖如春洲守,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背沾凄。 一陣腳步聲響...
    開封第一講書人閱讀 33,814評論 1 274
  • 我被黑心中介騙來泰國打工梗醇, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人撒蟀。 一個月前我還...
    沈念sama閱讀 49,299評論 3 379
  • 正文 我出身青樓叙谨,卻偏偏與公主長得像,于是被迫代替她去往敵國和親保屯。 傳聞我的和親對象是個殘疾皇子手负,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,870評論 2 361

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,328評論 25 707
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法姑尺,內(nèi)部類的語法竟终,繼承相關(guān)的語法,異常的語法切蟋,線程的語...
    子非魚_t_閱讀 31,665評論 18 399
  • Beetl2.7.16中文文檔 Beetl作者:李家智 <xiandafu@126.com> 1. 什么是Beet...
    西漠閱讀 2,700評論 0 0
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理统捶,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • 今天剛剛下載并開通了簡書喘鸟,
    傅山大紅門黃藥師閱讀 60評論 0 0