在Apex页面中使用String.contains

时间:2012-03-26 14:33:59

标签: salesforce apex-code

<apex:outputField rendered="{!(WidgetType.contains('mywidget1'))}" />

当我这样做时,我收到错误......

  

错误:未知函数WidgetType.contains。检查拼写

...即使WidgetType返回一个String!

它会让我这样做......

  

rendered =“{!(WidgetType =='mywidget1')}”

这是控制器中的属性......

public String getWidgetType() {
    return Settings.getWidgetType();
}

2 个答案:

答案 0 :(得分:7)

查看CONTAINS函数documentation(粘贴在下方)。

<小时/> 的 描述

比较文本的两个参数,如果第一个参数包含第二个参数,则返回TRUE。如果不是,则返回FALSE。

以下示例检查名为Product_Type的自定义文本字段的内容,并为其中包含“part”一词的任何产品返回“Parts”。否则,它返回“服务”。 {!IF(contains(opportunity.Product_Type__c, "part"), "Parts", "Service")}

此函数区分大小写,因此请确保您的compare_text值具有正确的大小写。

<强> 使用

CONTAINS(text, compare_text)并将文本替换为包含compare_text值的文本。


在您的情况下,您需要像这样使用它:

<apex:outputField rendered="{!(CONTAINS(WidgetType,'mywidget1'))}" />

答案 1 :(得分:0)

<apex:outputPanel rendered="{!(contains('long_string','short_string_to_check'))}" />

这适合我。