2

これが機能しない理由がわかりません:

<apex:repeat value="{!MyContacts}" var="c" >
    <c:ContactRowComponent contactLastName="{!c.LastName}"/>  
</apex:repeat>

(メインコントローラーでは MyContacts が Contact オブジェクトの配列を返し、コンポーネントでは contactLastName が String 属性として定義されています)

これによりエラーが発生します:

Literal value is required for attribute contactLastName in <c:ContactRowComponent> at line 25 column 27

数式ではなくリテラル値が必要だと言っているようですか? 私がやろうとしていることは不可能ですか、それとも間違っていますか?

4

1 に答える 1

2

私もこの問題に遭遇しました。私の場合は、何らかの理由で数式を使用するフィールドでは実行できないコンポーネント属性でデフォルト属性を指定したためです。

たとえば、式の値を渡すときに説明したエラーが発生します。

<apex:attribute type="string" name="value" default="sometext" description="some name value" />

したがって、デフォルト属性を削除すると、エラーは解決されます。これがあなたの特定のユースケースで解決するかどうか教えてください。

于 2011-07-13T01:20:57.627 に答える