【VisualForce】演算子 '=' のパラメータ種別が間違っています。期待テキスト、受信数字
5543 ワード
演算子 '=' のパラメータ種別が間違っています。期待テキスト、受信数字
VisualForceでちょっと詰まったので備忘録。
親page
<apex:variable var="pageNumber" value="1" />
<!-- repeatというループすることができるVisualForceのタグ -->
<apex:repeat value="{!viewModel.displayListEachPage}" var="displayList">
<!-- コンポーネント呼び出し -->
<c:COMPONENT pageNumber='{!pageNumber}' />
<!-- pageNumberをインクリメント -->
<apex:variable var="pageNumber" value="{!VALUE(pageNumber)+1}" />
</apex:repeat>
親ページからコンポーネントにpageNumberを渡す
component
<apex:component>
<!-- 親ページからページ数をもらうとする。型はInteger、必須項目 -->
<apex:attribute name="pageNumber" type="Integer" description="ページ数" required="true" />
<!-- outputPanelのrenderedでIF関数を使用 -->
<apex:outputPanel rendered="{!IF(pageNumber == 1, true, false )}">
こんにちは
</apex:outputPanel>
</apex:component>
attributeというタグで親ページからpegeNumberを受け取る。
outputPanelのrenderedという属性を使用してタグで囲ったコンテンツを描画するかどうか判別できる。
エラー
画面を表示するとエラーが表示された。
演算子 '=' のパラメータ種別が間違っています。期待テキスト、受信数字
component c:COMPONENT のコンポーネント <apex:outputPanel> の式「{!IF(pageNumber == 1, true, false)}」にエラーがあります。
期待するのはテキストですよ。指定されているのは数字になってますよ。
と言ってそう。
デプロイエラー
VisualForce
<apex:outputPanel rendered="{!IF(pageNumber == '1', true, false )}">
</apex:outputPanel>
VisualForce
<apex:outputPanel rendered="{!IF(pageNumber == '1', true, false )}">
</apex:outputPanel>
1をStringにした。
演算子 '<>' のパラメータ種別が間違っています。期待数字、受信テキスト
デプロイが通らない。
このやり方だといけたみたいな記事も見た
VisualForce
<apex:outputPanel rendered="{!(pageNumber == '1'}">
</apex:outputPanel>
できない。
解決策
VisualForce
<apex:component>
<!-- 型をString -->
<apex:attribute name="pageNumber" type="String" description="ページ数" required="true" />
<!-- 数字をStringにした -->
<apex:outputPanel rendered="{!IF(pageNumber == '1', true, false )}">
こんにちは
</apex:outputPanel>
</apex:component>
- apex:attributeのtype属性をIntegerからStringに変更
- apex:outputPanelのIF関数で等価する値をStringにする
VisualForce
<apex:component>
<!-- 型をString -->
<apex:attribute name="pageNumber" type="String" description="ページ数" required="true" />
<!-- 数字をStringにした -->
<apex:outputPanel rendered="{!IF(pageNumber == '1', true, false )}">
こんにちは
</apex:outputPanel>
</apex:component>
IF関数を省略するしても大丈夫。
VisualForce
<apex:outputPanel rendered="{!(pageNumber == '1'}">
</apex:outputPanel>
Author And Source
この問題について(【VisualForce】演算子 '=' のパラメータ種別が間違っています。期待テキスト、受信数字), 我々は、より多くの情報をここで見つけました https://qiita.com/michida/items/b0f9117e546b677b5744著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .