我的自定义对象中有一个选项列表。我正在创建一个visualforce页面,其中需要嵌入不同的模板。在主VF页面中,我正在迭代这个自定义对象列表,其中我必须将选项列表值传递给此顶点:include' s属性" pagename"。我有visualforce页面,其名称与此选择列表值相同。
以下是我到目前为止尝试但没有运气的示例代码:
代码1 -
<apex:page renderAs="pdf" controller="MyCheckLayoutController">
<apex:repeat value="{!listwrapper}" var="cl" >
<apex:include pageName="{!cl.check_layout_type}" > // cl.check_layout_type is variable in wrapper class and it is the name of visualforce page as well.
/* This gives error as variable not found. */
</apex:include>
</apex:repeat>
</apex:page>
代码2 -
<apex:page renderAs="pdf" controller="MyCheckLayoutController">
<apex:repeat value="{!listwrapper}" var="cl" >
<apex:variable var="type" value="{!cl.check_layout_type}" />
{!type} // This variable contains value
<apex:include pageName="{!type}" >
/* But It doesnot read it's value here. It says pagename cannot be null*/
</apex:include>
</apex:repeat>
</apex:page>
到目前为止,我已经尝试了很多方法。如果有人能回答,那将是非常有帮助的。 感谢。
答案 0 :(得分:0)
所以我实际上尝试了一下,看起来页面名称需要在VF页面中定义,或者必须绑定到返回页面引用的getter或者具有返回页面ref的get属性的属性。看起来它不能绑定到转发器中的变量。也许你应该试着看看Dynamic Components是否可以做到这一点