我尝试将节点动态添加到Extension Library Accordion控件。整个想法是构建一个菜单,其中的选项从视图中获取(查看条目)。我从一个非常基本的逻辑开始,我从here得到了(感谢这个家伙Kraeven X BTW)。我声明了一个类型为accordion的变量,然后创建了一个BasicContainerNode和BasicLeafNode的新实例。一切正常,我能够将BasicLeafNode添加为BasicContainerNode的子项并为两者设置标签。 当我尝试使用addNode(ITreeNode节点)方法将新创建的节点(及其子节点)添加到我的手风琴控件时,问题就出现了。 页面崩溃时出现错误500(HTTP Web服务器:命令未处理异常)。
为什么addNode(ITreeNode节点)方法无法正常工作?我做错了什么???
这是我的afterPageLoad中的SSJS代码:
try{
var newContainer:com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode = new com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode();
newContainer.setLabel("Dynamic Container Node");
var newNode:com.ibm.xsp.extlib.tree.impl.BasicLeafTreeNode = new com.ibm.xsp.extlib.tree.impl.BasicLeafTreeNode();
newNode.setHref("http://www.google.com");
newNode.setLabel("Dynamic Basic Node");
newContainer.addChild(newNode);
var acc = getComponent("accordion1");
acc.addNode(newContainer);
}catch(e){
print(e.toString);
}
提前感谢您的帮助。
:)
答案 0 :(得分:1)
您的代码效果很好。
在XPage上查找其他一些问题。激活“显示XPage运行时错误页面”或查看服务器上的日志文件以找出导致错误的原因。