salesforce 零基础学习(六十五)VF页面应善于使用变量和函数(一)常用变量的使用
我们在使用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页面应善于使用变量和函数(一)常用变量的使用的更多相关文章
- salesforce 零基础学习(十六)Validation Rules & Date/time
上一篇介绍的内容为Formula,其中的Date/time部分未指出,此篇主要介绍Date/time部分以及Validation rules. 本篇参考PDF: Date/time:https://r ...
- salesforce 零基础学习(十九)Permission sets 讲解及设置
Permission sets以及Profile是常见的设置访问权限的方式. Profile规则为'who see what'.通过Profile可以将一类的用户设置相同的访问权限.对于有着相同Pro ...
- salesforce零基础学习(九十五)lightning out
随着salesforce对lightning的推进,越来越多的项目基于lightning开发,导致很多小伙伴可能都并不了解classic或者认为不需要用到classic直接就开始了lightning的 ...
- salesforce 零基础学习(十八)WorkFlow介绍及用法
说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配置workflow来完成以上 ...
- salesforce零基础学习(一百一十)list button实现的一些有趣事情
本篇参考: salesforce零基础学习(九十五)lightning out https://developer.salesforce.com/docs/component-library/docu ...
- salesforce 零基础学习(五十二)Trigger使用篇(二)
第十七篇的Trigger用法为通过Handler方式实现Trigger的封装,此种好处是一个Handler对应一个sObject,使本该在Trigger中写的代码分到Handler中,代码更加清晰. ...
- salesforce 零基础学习(六十八)http callout test class写法
此篇可以参考: https://developer.salesforce.com/docs/atlas.en-us.apexcode.meta/apexcode/apex_classes_restfu ...
- salesforce零基础学习(一百零五)Change Data Capture
本篇参考: https://developer.salesforce.com/docs/atlas.en-us.232.0.api_streaming.meta/api_streaming/using ...
- salesforce零基础学习(八十)使用autoComplete 输入内容自动联想结果以及去重实现
项目中,我们有时候会需要实现自动联想功能,比如我们想输入用户或者联系人名称,去联想出系统中有的相关的用户和联系人,当点击以后获取相关的邮箱或者其他信息等等.这种情况下可以使用jquery ui中的au ...
- salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
在classic环境中,salesforce提供了<apex:inputFile>标签用来实现附件的上传以及内容获取.salesforce 零基础学习(二十四)解析csv格式内容中有类似的 ...
随机推荐
- python--字符串操作(删除,替换)
示例: 替换字符串开头和结尾处的空格 1. [代码][Python]代码 跳至 [1] [全屏预览] view source print? 01 # -*- coding: utf-8 -*- ...
- Java将List/JavaBean转成Json
import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.util.List; /** * ...
- TCP/IP协议头部结构体(网摘小结)(转)
源:TCP/IP协议头部结构体(网摘小结) TCP/IP协议头部结构体(转) 网络协议结构体定义 // i386 is little_endian. #ifndef LITTLE_ENDIAN #de ...
- Thinking in scala (8)---- 乘幂计算
递归的方式: b^n = (b^(n/2))^2 若n是偶数 b^n = b*(b^(n-1)) 若n是奇数 迭代的方式 product:存储中间结果,初始化为1 b^n = (b^2)^(n/2) ...
- STM8的中断系统以及外部中断详解
STM8具有最多32的中断系统,在中断的处理上类似于cortexm系列的芯片,首先是每个中断的向量都是固化在系统内部的,用户需要向相应的中断向量flash位置写入中断处理函数,其二,每个中断向量都具有 ...
- Delphi 常用函数(数学函数)round、trunc、ceil和floor
源:Delphi 常用函数(数学函数)round.trunc.ceil和floor Delphi 常用函数(数学) Delphi中怎么将实数取整? floor 和 ceil 是 math unit 里 ...
- flask-sqlalchemy relationship
http://www.ergo.io/blog/sqlalchemy-relationships-from-beginner-to-advanced class Cabinet(db.Model): ...
- leetcode day4
[171]Excel Sheet Column Number Given a column title as appear in an Excel sheet, return its correspo ...
- thinkPHP的学习
1.版本,以3.1为主,因为手册是基于这个的,最新的版本,还没有对应的手册 2.发现一个问题,echo 中文时,出现乱码,而调用模版则正常. 3.写url的注意大小写.index和Index是不同的 ...
- diskpart修改盘符
开机运行一批处理.内容如下:diskpart /s c:\disk.txt c:\disk.txt内容如下:select disk 1 #1选择第二个硬盘 0选择第二个硬盘sel ...