我在重复控件上使用'first'的值来了解我的位置
sessionScope.ssCat1First = getComponent("repeatCat1").first;
所以我可以将起始索引值设置为ssCat1First,我在右页。但是,在某些情况下,我需要先在组件上重置
我试过
getComponent("repeatCat1").first.setValue(0);
但是我在“Number [JavaScript Object]”类型的对象上收到错误“Error calling method'setValue(number)'” 所以看起来我需要一个Java对象?如果是这样,我该怎么做?
答案 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
具有:
请注意,getComponent("repeatCat1").first
是getComponent("repeatCat1").getFirst()
的表达语言版本。这就是真正被执行的东西。
同样适用于寻呼机。您将查找XspPager,然后查找父类com.ibm.xsp.component.UIPager。在那里,您可以看到如何设置寻呼机的页码:
答案 1 :(得分:0)
使用setFirst():
getComponent("repeatCat1").setFirst(0);