我們在使用formula或者validation rules等的時候通常會接觸到很多function,這些函數很便捷的解決了我們很多問題。其實很多函數也可以應用在VF頁面中,VF頁面有時候應該善於使用相關的常量和函數,便捷我們的開發。
一.常用的global variable篇
1.$CurrentPage:通過CurrentPage變量你可以獲取當前頁面的頁面名稱,URL以及參數(param)值;
1 <apex:page > 2 此頁面的頁面名稱: {!$CurrentPage.Name}<br/> 3 此頁面的URL:{!$CurrentPage.URL}<br/> 4 對此頁面傳遞一個參數,key為param,此param對應的value為:{!$CurrentPage.Parameters.param} 5 </apex:page>
顯示效果:

2.$Label:通過此變量可以獲取custom labels中配置的自定義label,自定義label分成靜止的內容以及動態的內容。
1 <apex:page > 2 <apex:pageBlock > 3 此種方式為動態形式的label value顯示: 4 <apex:outputText value="{!$Label.Show_Message_Dynamic}"> 5 <apex:param value="1"></apex:param> 6 <apex:param value="2"></apex:param> 7 </apex:outputText> 8 </apex:pageBlock> 9 <apex:pageBlock > 10 此種方式為靜態形式的label value顯示: 11 <apex:outputText value="{!$Label.MEILAN_NOTE2}"> 12 </apex:outputText> 13 </apex:pageBlock> 14 </apex:page>
其中Show_Message_Dynamic聲明如下:

運行效果:

3.$ObjectType:類似apex中的SObjectType類的功能:通過此對象可以獲取類或者字段的meta data,比如label名稱等.項目中有的時候需要獲取字段的label信息,通過此種方式獲取的label信息可以直接實現國際化功能,而不用自己創建多套內容來維護國際化;
1 <apex:page > 2 <apex:pageBlock > 3 Account的Label : <apex:outputText value="{!$ObjectType.Account.Label}" style="color:red;"></apex:outputText><br/> 4 Account表中的字段為Name的Label : <apex:outputText value="{!$ObjectType.Account.Fields.Name.Label}" style="color:red;"></apex:outputText><br/> 5 </apex:pageBlock> 6 </apex:page>
運行效果:

4.$Page :類似apex中的pageReference功能,綁定在<a>標簽等上面實現鏈接跳轉功能。
1 <apex:page > 2 <a href="{!$Page.ObjectTypeVariableUsage}" target="_blank">跳轉到其他頁面</a> 3 </apex:page>
5.$Resource:此變量經常用到,我們有時候需要引入某個css文件或者js文件,或者顯示某些文件圖片等,需要先上傳到static resources中,然后通過$Resource.file_name即可引入。
1 <apex:page > 2 <apex:stylesheet value="{!$Resource.test}"></apex:stylesheet> 3 <span class="largerSize">字體比較</span><br/> 4 <span >字體比較</span> 5 </apex:page>
運行效果:

6.$User:獲取當前登陸的用戶信息:
1 <apex:page > 2 <apex:pageBlock > 3 <apex:outputText value="當前登陸用戶的用戶名稱為:{!$User.Username}"></apex:outputText><br/> 4 郵箱地址為:{!$User.Email} 5 </apex:pageBlock> 6 </apex:page>
運行效果:

總結:VF中可以使用變量和函數,通過使用變量和函數有的時候可以使復雜的處理簡單化,篇中只介紹一些簡單常用的變量,其他變量使用可以參考官方提供的page的PDF。下一篇主要介紹函數在VF中的使用。
