function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
吉田 丈治吉田 丈治 

SET<String> を用いたrenderedの条件分岐でエラー

Apex(若干省略していますが、マップにString型のキーを作って適当なオブジェクトを詰め込むという処理です:こちらは問題ないです)
Map<String,sObject> keyMap = new Map<String,sObject>();
		...Mapにオブジェクトを入れる処理
		//Mapのキーセットを取得する
		KeySet = new Set<String>();
		KeySet = keyMap.keySet();

Visualforceでは、キーに特定の文字列が入っていたら出力するという処理を行いたいと思っています
<apex:repeat value="{!KeySet}" var="key">
		<apex:outputText value="foo" rendered="{!CONTAINS(key,'特定の文字列')}" />
	</apex:repeat>
エラー
関数 'CONTAINS()' のパラメータ種別が間違っています。期待テキスト、受信オブジェクト

keyの部分がオブジェクトと判定されているようなのですが、何故でしょうか。
それではと思って text(key)とすると今度はtext関数でエラーとなってしまいます
 
'text()' のパラメータ種別が間違っています。期待数字, 日付, DateTime, 選択リスト、受信オブジェクト

このキーをそのまま {!key}で出力するとテキストとして出力されるのですが。
どなたかお知恵をください。
吉田 丈治吉田 丈治
ひとまずApex側で処理してVisualforceにoutputTextでもってくる様な形で回避したのですが、どなたかこちらの件、おわかりになったら教えてください。