我们在使用formula或者validation rules等的时候通常会接触到很多function,这些函数很便捷的解决了我们很多问题。其实很多函数也可以应用在VF页面中,VF页面有时候应该善于使用相关的常量和函数,便捷我们的开发。

一.常用的global variable篇

1.$CurrentPage:通过CurrentPage变量你可以获取当前页面的页面名称,URL以及参数(param)值;

 <apex:page >
此页面的页面名称: {!$CurrentPage.Name}<br/>
此页面的URL:{!$CurrentPage.URL}<br/>
对此页面传递一个参数,key为param,此param对应的value为:{!$CurrentPage.Parameters.param}
</apex:page>

显示效果:

2.$Label:通过此变量可以获取custom labels中配置的自定义label,自定义label分成静止的内容以及动态的内容。

 <apex:page >
<apex:pageBlock >
此种方式为动态形式的label value显示:
<apex:outputText value="{!$Label.Show_Message_Dynamic}">
<apex:param value="1"></apex:param>
<apex:param value="2"></apex:param>
</apex:outputText>
</apex:pageBlock>
<apex:pageBlock >
此种方式为静态形式的label value显示:
<apex:outputText value="{!$Label.MEILAN_NOTE2}">
</apex:outputText>
</apex:pageBlock>
</apex:page>

其中Show_Message_Dynamic声明如下:

运行效果:

3.$ObjectType:类似apex中的SObjectType类的功能:通过此对象可以获取类或者字段的meta data,比如label名称等.项目中有的时候需要获取字段的label信息,通过此种方式获取的label信息可以直接实现国际化功能,而不用自己创建多套内容来维护国际化;

 <apex:page >
<apex:pageBlock >
Account的Label : <apex:outputText value="{!$ObjectType.Account.Label}" style="color:red;"></apex:outputText><br/>
Account表中的字段为Name的Label : <apex:outputText value="{!$ObjectType.Account.Fields.Name.Label}" style="color:red;"></apex:outputText><br/>
</apex:pageBlock>
</apex:page>

运行效果:

4.$Page :类似apex中的pageReference功能,绑定在<a>标签等上面实现链接跳转功能。

 <apex:page >
<a href="{!$Page.ObjectTypeVariableUsage}" target="_blank">跳转到其他页面</a>
</apex:page>

5.$Resource:此变量经常用到,我们有时候需要引入某个css文件或者js文件,或者显示某些文件图片等,需要先上传到static resources中,然后通过$Resource.file_name即可引入。

 <apex:page >
<apex:stylesheet value="{!$Resource.test}"></apex:stylesheet>
<span class="largerSize">字体比较</span><br/>
<span >字体比较</span>
</apex:page>

运行效果:

6.$User:获取当前登陆的用户信息:

 <apex:page >
<apex:pageBlock >
<apex:outputText value="当前登陆用户的用户名称为:{!$User.Username}"></apex:outputText><br/>
邮箱地址为:{!$User.Email}
</apex:pageBlock>
</apex:page>

运行效果:

总结:VF中可以使用变量和函数,通过使用变量和函数有的时候可以使复杂的处理简单化,篇中只介绍一些简单常用的变量,其他变量使用可以参考官方提供的page的PDF。下一篇主要介绍函数在VF中的使用。

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

  1. salesforce 零基础学习(十六)Validation Rules & Date/time

    上一篇介绍的内容为Formula,其中的Date/time部分未指出,此篇主要介绍Date/time部分以及Validation rules. 本篇参考PDF: Date/time:https://r ...

  2. salesforce 零基础学习(十九)Permission sets 讲解及设置

    Permission sets以及Profile是常见的设置访问权限的方式. Profile规则为'who see what'.通过Profile可以将一类的用户设置相同的访问权限.对于有着相同Pro ...

  3. salesforce零基础学习(九十五)lightning out

    随着salesforce对lightning的推进,越来越多的项目基于lightning开发,导致很多小伙伴可能都并不了解classic或者认为不需要用到classic直接就开始了lightning的 ...

  4. salesforce 零基础学习(十八)WorkFlow介绍及用法

    说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配置workflow来完成以上 ...

  5. salesforce零基础学习(一百一十)list button实现的一些有趣事情

    本篇参考: salesforce零基础学习(九十五)lightning out https://developer.salesforce.com/docs/component-library/docu ...

  6. salesforce 零基础学习(五十二)Trigger使用篇(二)

    第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...

  7. salesforce 零基础学习(六十八)http callout test class写法

    此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restfu ...

  8. salesforce零基础学习(一百零五)Change Data Capture

    本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...

  9. salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现

    项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...

  10. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件

    在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...

随机推荐

  1. Big Data架构师技能图谱

    大数据通用处理平台 Spark Flink Hadoop 分布式存储 HDFS 资源调度 Yarn Mesos 机器学习工具 Mahout Spark Mlib TensorFlow (Google ...

  2. 原来在ARC下还有这么多不同?!

    1.ARC空声明变量 使用ARC的另一个优势是所有未初始化的变量默认都是"空值化"的.这意味着像下面这样的声明使用ARC编译后指向的是空值(nil): NSObject myObj ...

  3. Sublime Text 2快捷键大全

    作者:zccst 2015-04-13 Sublime 插件安装 http://www.cnblogs.com/jingwhale/p/4421021.html 2014-09-17 Sublime ...

  4. request参数集合绑定实体实现defaultmodebinder

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  5. address2line 定位 Android c++奔溃位置

    Android调用c++出现奔溃,崩溃信息为如下: 10-11 15:15:13.541 D/AudioMTKStreamOut( 139): write(), buffer = 0x42bd9390 ...

  6. Java序列化与反序列化,文件操作

    参考两篇博客: http://blog.csdn.net/moreevan/article/details/6697777 http://blog.csdn.net/moreevan/article/ ...

  7. 安装oracle后不能连接问题

    在安装oracle之前,还特意找了几篇博客和百度经验看过,因为知道oracle的只能安装一次,如果装不上,OK,基本排除安装的可能了(安装的残留文件卸不完) 然而,我的问题没有出在这里,安装很顺利,一 ...

  8. iOS 之 导航栏按钮

    UIButton *releaseButton = [UIButton buttonWithType:UIButtonTypeRoundedRect]; [releaseButton setTitle ...

  9. VirtualBox中安装Android-x86详解

    1.下载安装VirtualBox 官网:http://www.virtualbox.org/wiki/Downloads 2.下载Android-x86 官网:http://www.android-x ...

  10. 兼容IE6及以上的导航栏子菜单栏滑过显示隐藏效果

    ;(function(window){        var li = document.getElementById('parentnav').getElementsByTagName('li')[ ...