日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

023_运行时变量和范围

發(fā)布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 023_运行时变量和范围 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 當調用Template.process方法時, 它會在方法內部創(chuàng)建一個Environment對象, 在process返回之前一直使用。該對象存儲模板執(zhí)行時的運行狀態(tài)信息。除了這些, 它還存儲由模板中指令, 如: assign, macro, local或global創(chuàng)建的變量。它不會嘗試修改傳遞給process的數(shù)據(jù)模型對象, 也不會創(chuàng)建或替換存儲在配置中的共享變量。

2. 當你想要讀取一個變量時, FreeMarker將會以這種順序來查找, 直到發(fā)現(xiàn)了完全匹配的的變量名稱才會停下來:

2.1. 在Environment中:

2.1.1. 如果在循環(huán)中, 在循環(huán)變量的集合中。循環(huán)變量是由如list等指令來創(chuàng)建的。

2.1.2. 如果在宏中, 在宏的局部變量集合中。局部變量可以由local指令創(chuàng)建。而且, 宏的參數(shù)也是局部變量。

2.1.3. 在當前的命名空間中??梢允褂胊ssign指令將變量放到一個命名空間中。

2.1.4. 在由global指令創(chuàng)建的變量集合中。FTL將它們視為數(shù)據(jù)模型的普通成員變量一樣來控制它們。也就是說, 它們在所有的命名空間中都可見, 你也可以像訪問一個數(shù)據(jù)模型中的數(shù)據(jù)一樣來訪問它們。

2.2. 在傳遞給process方法的數(shù)據(jù)模型對象中。

2.3. 在Configuration對象存儲的共享變量集合中。

3. 在實際操作中, 來自模板設計者的觀點是這6種情況應該只有4種, 因為從那種觀點來看, 后面3種(由global創(chuàng)建的變量, 真實的數(shù)據(jù)模型對象, 共享變量)共同構成了全局變量的集合。

總結

以上是生活随笔為你收集整理的023_运行时变量和范围的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。