如何将组件的值设置为数字

时间:2015-02-21 23:40:33

标签: xpages xpages-ssjs

我在重复控件上使用'first'的值来了解我的位置

sessionScope.ssCat1First = getComponent("repeatCat1").first;

所以我可以将起始索引值设置为ssCat1First,我在右页。但是,在某些情况下,我需要先在组件上重置

我试过

getComponent("repeatCat1").first.setValue(0);

但是我在“Number [JavaScript Object]”类型的对象上收到错误“Error calling method'setValue(number)'” 所以看起来我需要一个Java对象?如果是这样,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您可以从JavaDoc Package com.ibm.xsp.component.xp获得Xsp组件的所有属性和方法的列表。

如何找到控件的组件类?只需使用按钮将对象的类名打印到服务器控制台即可。对于重复控制示例,您需要编写:

<xp:button
    value="Show class"
    id="button2">
    <xp:eventHandler
        event="onclick"
        submit="true"
        refreshMode="complete">
        <xp:this.action><![CDATA[#{javascript:print(getComponent("repeatCat1"))}]]></xp:this.action>
    </xp:eventHandler>
</xp:button>

和控制台会显示你的内容 HTTP JVM: com.ibm.xsp.component.xp.XspDataIterator@20f620f6

现在,在JavaDoc中查找类XspDataIterator。此类没有方法getFirst()setFirst(),但父类com.ibm.xsp.component.UIDataIterator具有:

enter image description here

请注意,getComponent("repeatCat1").firstgetComponent("repeatCat1").getFirst()的表达语言版本。这就是真正被执行的东西。

同样适用于寻呼机。您将查找XspPager,然后查找父类com.ibm.xsp.component.UIPager。在那里,您可以看到如何设置寻呼机的页码:

enter image description here

答案 1 :(得分:0)

使用setFirst():

getComponent("repeatCat1").setFirst(0);