Salesforce-Visualforce-3.变量和公式(Variables and Formulas)

本文介绍了Visualforce中的表达式语法和全局变量的使用,包括如何访问系统值和资源,以及如何利用全局变量如$User、$Organization等展示信息。同时,通过代码示例展示了如何使用公式表达式如TODAY()、YEAR()等函数,并解释了条件表达式的应用。这些概念和技巧对于理解和构建动态Visualforce页面至关重要。
摘要由CSDN通过智能技术生成

一、全局变量和 Visualforce 表达式概述(Global Variables and Visualforce Expressions)

Visualforce 的表达式语法是:{! expression }

The expression syntax in Visualforce is: {! expression }

在渲染页面或使用值时,{! } 分隔符内的任何内容都会进行评估和动态替换。空格会被忽略。
结果值可以是原始值(整数、字符串等)、布尔值、sObject、控制器方法(例如操作方法)和其他有用的结果。

Anything inside the {! } delimiters is evaluated and dynamically replaced when the page is rendered or when the value is used. Whitespace is ignored.
The resulting value can be a primitive (integer, string, and so on), a Boolean, an sObject, a controller method such as an action method, and other useful results.

二、全局变量(Global Variables)

全局变量可以访问和显示系统值和资源,Visualforce可以使用20多种全局变量。

  • 组织详情 ( $Organization)
  • 设置 ( $Setup)
  • 自定义对象详情 ( $ObjectType)
  • 对象可用操作 ( $Action)

  • 具体参照: Visualforce 全局变量引用

使用方法:{! $GlobalName.fieldName }

  • 代码示例:
<apex:page>
    <apex:pageBlock title="User Status">
        <apex:pageBlockSection columns="1">
            {! $User.FirstName } {! $User.LastName }
            {! $User.FirstName & ' ' & $User.LastName }
            {! $User.Username }
            ({! IF($User.isActive, $User.Username, 'inactive') })
        </apex:pageBlockSection> 
    </apex:pageBlock> 
</apex:page>
  • 解析:
    {! …} 告知 Visualforce 大括号内的任何内容都是动态的,并且是用表达式语言编写的。当有人查看页面时,它的值会在运行时进行计算和替换。

Visualforce 表达式不区分大小写,并且忽略 {! …} 内的空格。以下表达式效果一样:
{! $User.FirstName}

{!$USER.FIRSTNAME}

{! $user.firstname }

三、公式表达式(Formula Expressions)

Visualfoece可以使用十多种函数

详细参照:Visualforce 函数引用

  • TODAY()
  • YEAR()
  • MAX()
  • CONTAINS()
  • 代码示例
<apex:page>
    <apex:pageBlock title="User Status">
        <apex:pageBlockSection columns="1">
            {! $User.FirstName } {! $User.LastName }
           ({! $User.Username })
            <p> Today's Date is {! TODAY() } </p>
            <p> Next week it will be {! TODAY() + 7 } </p>
            <p>The year today is {! YEAR(TODAY()) }</p>
            <p>Tomorrow will be day number  {! DAY(TODAY() + 1) }</p>
            <p>Let's find a maximum: {! MAX(1,2,3,4,5,6,5,4,3,2,1) } </p>
            <p>The square root of 49 is {! SQRT(49) }</p>
            <p>Is it true?  {! CONTAINS('salesforce.com', 'force.com') }</p>
        </apex:pageBlockSection>
    </apex:pageBlock>
</apex:page>
  • 运行结果:
    在这里插入图片描述

四、条件表达式(Conditional Expressions)

  • 示例
<p>{! IF( CONTAINS('salesforce.com','force.com'),'Yep', 'Nope') }</p>
<p>{! IF( DAY(TODAY()) < 15,'Before the 15th', 'The 15th or after') }</p>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值