Apex 重复内 IF 语句的 Visualforce 语法错误
Visualforce Syntax Error for IF statement inside a Apex Repeat
我收到一个语法错误并且很难确定哪里出错了。
我研究了几种不同的替代方法,例如包装 <apex outputText>
以及使用多个版本的 {!
导致我的变量调用。不幸的是,我很难理解是哪一系列错误导致了这个语法错误。
代码的关键是:
<td>
{! IF(isTenant, ${woli.Repair_Product__r.Bill_Rate_Retail__c}, ${woli.Repair_Product__r.Bill_Rate__c})}
</td>
用于变量引用。这位于 woli 定义为:
<apex:repeat value="{!woliList}" var="woli">
出于测试目的,isTenant 在我的控制器中被硬编码为 false:
public Boolean isTenant = False;
我希望我的 Apex Repeat 命令根据 isTenant 的值填充不同的账单费率,但当然由于语法错误我无法判断我是否在正确的轨道上。有关 Visual Force 参考中何时需要或不需要多个 {!} 的有用提示会很有帮助。我也很好奇什么时候应该使用单引号或双引号来定义 if 条件的输出。
更新:
我想也许我没有将条件语句绑定到控制器中的变量那么简单class所以我修改为:
<td>
{! IF({!isTenant}, ${woli.Repair_Product__r.Bill_Rate_Retail__c}, ${woli.Repair_Product__r.Bill_Rate__c})}
</td>
在控制器中添加适当的 get/set。但遗憾的是,这不是开发人员控制台仍然给出神秘语法错误的问题。
您不需要 $
标志。美元用于 "depends who's looking" 和其他与数据库中的数据无关的特殊字段。你可以有 $CurrentPage
、$User.Name
、$Profile.Name
、$Label.someText
(那个算作 "depends who's looking",因为如果你的首选语言是法语,它可以显示翻译版本。
第二件事 - 如果您已经在 {! some merge field syntax }
中,则不需要更多花括号。
尝试
{! IF(!isTenant,
woli.Repair_Product__r.Bill_Rate_Retail__c,
woli.Repair_Product__r.Bill_Rate__c
)}
我收到一个语法错误并且很难确定哪里出错了。
我研究了几种不同的替代方法,例如包装 <apex outputText>
以及使用多个版本的 {!
导致我的变量调用。不幸的是,我很难理解是哪一系列错误导致了这个语法错误。
代码的关键是:
<td>
{! IF(isTenant, ${woli.Repair_Product__r.Bill_Rate_Retail__c}, ${woli.Repair_Product__r.Bill_Rate__c})}
</td>
用于变量引用。这位于 woli 定义为:
<apex:repeat value="{!woliList}" var="woli">
出于测试目的,isTenant 在我的控制器中被硬编码为 false:
public Boolean isTenant = False;
我希望我的 Apex Repeat 命令根据 isTenant 的值填充不同的账单费率,但当然由于语法错误我无法判断我是否在正确的轨道上。有关 Visual Force 参考中何时需要或不需要多个 {!} 的有用提示会很有帮助。我也很好奇什么时候应该使用单引号或双引号来定义 if 条件的输出。
更新:
我想也许我没有将条件语句绑定到控制器中的变量那么简单class所以我修改为:
<td>
{! IF({!isTenant}, ${woli.Repair_Product__r.Bill_Rate_Retail__c}, ${woli.Repair_Product__r.Bill_Rate__c})}
</td>
在控制器中添加适当的 get/set。但遗憾的是,这不是开发人员控制台仍然给出神秘语法错误的问题。
您不需要 $
标志。美元用于 "depends who's looking" 和其他与数据库中的数据无关的特殊字段。你可以有 $CurrentPage
、$User.Name
、$Profile.Name
、$Label.someText
(那个算作 "depends who's looking",因为如果你的首选语言是法语,它可以显示翻译版本。
第二件事 - 如果您已经在 {! some merge field syntax }
中,则不需要更多花括号。
尝试
{! IF(!isTenant,
woli.Repair_Product__r.Bill_Rate_Retail__c,
woli.Repair_Product__r.Bill_Rate__c
)}