我有一个重复控件,我已绑定到sessionScope变量,它工作正常。我试图通过动态绑定到viewScope或sessionScope变量来使控件更具可扩展性。我已经向Control中添加了一个自定义属性来保存重复并将其称为范围。问题是如何将重复绑定到正确的Scoped变量。 在Repeat控件上,我选择了JavaScript作为绑定方法,并添加了以下代码:
switch (compositeData.scope){
case 'ss' :
return sessionScope.ssCat1
break;
case 'vs' :
return viewScope.vsCat1
break
}
我已经检查过,在我的情况下,compositeData.scope ='ss'和sessionScope.ssCat1包含正确的数据。
我错过了什么,或者这是否可能?
答案 0 :(得分:3)
这不是通过自定义参数在自定义控件中注入重复值的更好方法 将其命名为repeat或其他以object为属性类型。
在您的自定义控件中
<xp:repeat id="repeat1" rows="30"
var="rowData" style="width:400px" value="#{compositeData.repeat}">
//do what ever you want with a rowData
</xp:repeat>