2017-07-10 109 views
1

我試圖將節點動態添加到擴展庫Accordion控件。整個想法是建立一個菜單,其選項是從視圖中提取的(查看條目)。我從here得到的一個非常基本的邏輯開始(感謝這個傢伙Kraeven X BTW)。我聲明瞭一個類型爲accordion的變量,然後創建了一個BasicContainerNode和BasicLeafNode的新實例。一切正常,我能夠將BasicLeafNode添加爲BasicContainerNode的子節點,併爲兩者設置標籤。 當我嘗試使用addNode(ITreeNode節點)方法將新創建的節點(及其子節點)添加到我的手風琴控件時,問題就開始了。 頁面崩潰,出現錯誤500(HTTP Web服務器:命令未處理異常)。將樹節點添加到Xpages擴展庫Accordion控件

任何想法爲什麼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); 
} 

預先感謝任何幫助。

:)

回答

1

您的代碼運行良好。

尋找你的XPage上的其他問題。激活「顯示XPage運行時錯誤頁面」或查看服務器上的日誌文件以找出導致錯誤的原因。

+0

嗨克努特,謝謝你回覆並給我這樣的提示,對不起,我忘了提及我在本地運行應用程序並使用網絡預覽。但是,我可以激活「顯示XPage運行時錯誤頁面」,並查看我的IBM技術支持文件夾中的日誌文件。這是我得到的: **頁面名稱:/testmenu.xsp java.lang.ClassCastException:com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode與javax.faces.component.StateHolder **不兼容 –