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