salesforce 零基础学习(六十五)VF页面应善于使用变量和函数(一)常用变量的使用

我们在使用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中的使用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏cs

linux学习笔记三

文件组成 linux文件系统的运行和操作系统的文件组成有关,文件系统会将文件权限,属性放在inode(索引节点)中,至于实际的数据则放在block快中。另外还有...

35012
来自专栏散尽浮华

linux运维中的命令梳理(一)

在linux日常运维中,我们平时会用到很多常规的操作命令。 --------------------------------------------------...

29410
来自专栏运维小白

5.6 vim命令模式

搜索内容 在命令模式中,用 /root (root为要搜索的内容)去搜索,然后会高亮显示出来,从上往下查找 按 n 键,会从上到下依次显示出搜索内容(搜索到最...

1926
来自专栏用户2442861的专栏

HTTP POST GET 本质区别详解

    一般在浏览器中输入网址访问资源都是通过GET方式;在FORM提交中,可以通过Method指定提交方式为GET或者POST,默认为GET提交

1711
来自专栏IMWeb前端团队

解放双手:如何在本地调试远程服务器上的Node代码

写在前面 谈到node断点调试,目前主要有三种方式,通过node内置调试工具、通过IDE(如vscode)、通过node-inspector,三者本质上差不多。...

4218
来自专栏iKcamp

系列3|走进Node.js之多进程模型

文:正龙(沪江网校Web前端工程师) 本文原创,转载请注明作者及出处 之前的文章“走进Node.js之HTTP实现分析”中,大家已经了解 Node.js 是...

3957
来自专栏Python

Flask-配置与调试

配置管理 复杂的项目需要配置各种环境。如果设置项很少,可以直接硬编码进来,比如下面的方式: app = Flask(__name__) app.config['...

2896
来自专栏pangguoming

Windows下RabbitMQ安装及入门

1.Windows下安装RabbitMQ需要以下几个步骤    (1):下载erlang,原因在于RabbitMQ服务端代码是使用并发式语言erlang编写的,...

3457
来自专栏北京马哥教育

rsync - Linux下进行文件同步命令

rsync是Linux下进行文件同步到一个命令,可以同步两台计算机到文件与目录,利用查找文件中到不同块以减少数据传输。也可以在一台电脑到不同目录间同步,比如可以...

3736
来自专栏逆向与安全

GDB多线程调试分析

多线程调试的主要任务是准确及时地捕捉被调试程序线程状态的变化的事件,并且GDB针对根据捕捉到的事件做出相应的操作,其实最终的结果就是维护一根叫thread li...

920

扫码关注云+社区