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 条评论
登录 后参与评论

相关文章

来自专栏黄日成的专栏

大话 Select、Poll、Epoll

提到select、poll、epoll相信大家都耳熟能详了,三个都是IO多路复用的机制,可以监视多个描述符的读/写等事件。

9.9K11
来自专栏我杨某人的青春满是悔恨

常见的客户端架构解析

最早的 MVC 于 1979 年提出,当时还需要程序员全权处理用户输入——Controller 的职责。而现在,大部分事情已经被操作系统做了,我们已经做不到“V...

1013
来自专栏非著名程序员

Android 开发如何做好内存优化

Android的一个应用程序的内存泄露对别的应用程序影响不大。为了能够使得Android应用程序安全且快速的运行,Android的每个应用程序都会使用一个专有...

1757
来自专栏大数据挖掘DT机器学习

python + selenium + PhantomJS 获取腾讯应用宝APP评论

PhantomJS PhantomJS 是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,且原生支持各种W...

2847
来自专栏同步博客

Redis应用----消息传递

  消息传递这一应用广泛存在于各个网站中,这个功能也是一个网站必不可少的。常见的消息传递应用有,新浪微博中的@我呀、给你评论然后的提示呀、赞赞赞提示、私信呀、甚...

1102
来自专栏流媒体

Linux下Socket编程(四)——epoll的使用简介

相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,...

742
来自专栏不止是前端

实用主义:前端cookie介绍及操作封装

42516
来自专栏一只程序汪的自我修养

使用requirejs编写模块化代码

1535
来自专栏owent

给客户端写得LRU缓存

由于我们的客户端的元素和资源比较多,cocos框架的各种库质量参差不齐,导致了有些地方加载速度实在很慢。并且没有一个统一的内存管理机制导致了整个内存占用不太好控...

791
来自专栏一个会写诗的程序员的博客

前端布局单位选择之 rem

进行布局的话建议用less去写,因为less中可以用变量,这样我们可以省去频繁用计算器的时间了。

771

扫码关注云+社区