1
我正在尝试新的东西。我想通过自定义控件中的属性定义将json对象传递给arraylist。这个属性叫做cols,属于object类型。如何在重复控件中使用json对象访问arraylist
在我作为跟着已计算的属性值,现在一个XPage:
<xc:this.cols><![CDATA[#{javascript:var cols = [];
cols.push({
"colName" : "Petter",
"colValue" : "Developer"
});
cols.push({
"colName" : "Jesper",
"colValue" : "Administrator"
});
return cols;}]]></xc:this.cols>
现在在我的中继器我想使用这些对象/值。但我不知道如何?
首先我想重复我的控制范围之外的只是如何访问它们的JavaScript例如为:
<xp:text escape="true" id="computedField1">
<xp:this.value><![CDATA[#{javascript:var cols = compositeData.cols;
cols[0]["colValue"]}]]></xp:this.value>
</xp:text>
<xp:text escape="true" id="computedField3">
<xp:this.value><![CDATA[#{javascript:var cols = compositeData.cols;
cols[1]["colValue"]}]]></xp:this.value>
</xp:text>
这似乎是工作,因为我得到的值,开发人员和管理员返回。
现在我想在我的重复控制中访问json,但我迷路了。
这里是如何我已经建立了我的重复控制:
<xp:repeat id="repeat1" rows="30" var="colObj" indexVar="idx"
value="#{javascript:compositeData.cols}">
然后,我已经把我的重复控制中的计算文本控件和尝试类似的东西:
<xp:text escape="true" id="computedField2">
<xp:this.value><![CDATA[#{javascript:colObj[idx]["colValue"]}]]></xp:this.value>
</xp:text>
但后来我得到一个错误:
com.ibm.xsp.binding.javascript.JavaScriptValueBinding.getValue(JavaScriptValueBinding.java:132)
有人可以解释我做错了什么,我该如何正确地做到这一点?
你好罗布。该指数确实为我提供了。谢谢! – Malin