我有一个已绑定(bind)到 sessionScope 变量的重复控件,它工作正常。我试图通过将控件动态绑定(bind)到 viewScope 或 sessionScope 变量来使控件更具可扩展性。我已将自定义属性添加到包含重复项的控件中,并将其称为范围。问题是如何将重复绑定(bind)到正确的 Scoped 变量。 在 Repeat 控件上,我选择了 JavaScript 作为绑定(bind)方法并添加了以下代码:
switch (compositeData.scope){
case 'ss' :
return sessionScope.ssCat1
break;
case 'vs' :
return viewScope.vsCat1
break
}
我已经检查过,在我的例子中,compositeData.scope = 'ss' 和 sessionScope.ssCat1 包含正确的数据。
那么我是不是遗漏了什么或者这可能吗?
最佳答案
通过自定义参数在自定义控件中注入(inject)重复值不是更好的方法吗 将其命名为 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>
关于javascript - 将重复控件绑定(bind)到 session 或 View 范围变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36041084/