2017-07-10 3 views
1

Ich versuche, Knoten dynamisch zu einem Erweiterungsbibliothek-Akkordeon-Steuerelement hinzuzufügen. Die ganze Idee besteht darin, ein Menü zu erstellen, dessen Optionen aus einer Ansicht kommen (Einträge anzeigen). Ich begann mit einer sehr einfachen Logik, die ich von here bekam (danke an diesen Typ Kraeven X BTW). Ich habe eine Variable vom Typ Akkordeon deklariert und dann eine neue Instanz von BasicContainerNode und BasicLeafNode erstellt. Alles funktionierte gut, ich konnte den BasicLeafNode als Kind des BasicContainerNode hinzufügen und die Beschriftungen für beide festlegen. Das Problem begann, als ich versuchte, den neu erstellten Knoten (und sein Kind) mit der Methode addNode (ITreeNode node) zu meinem Akkordeon-Steuerelement hinzuzufügen. Die Seite stürzt mit einem Fehler 500 ab (Ausnahme HTTP-Webserver: Befehl nicht behandelt).Hinzufügen von Baumknoten zu einer Xpages-Erweiterungsbibliothek Akkordeonsteuerung

Irgendwelche Ideen, warum die addNode (ITreeNode node) -Methode nicht funktioniert ?? Was mache ich falsch???

Hier ist der SSJS Code in meinem afterPageLoad:

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); 
} 

Vielen Dank im Voraus für jede Hilfe.

:)

Antwort

1

Ihr Code funktioniert gut.

Suchen Sie nach einem anderen Problem auf Ihrer XPage. Aktivieren Sie die Seite "XPage-Laufzeitfehler anzeigen" oder sehen Sie sich die Protokolldatei auf dem Server an, um herauszufinden, was den Fehler verursacht hat.

+0

Hallo Knut, danke für die Antwort und mir einen solchen Hinweis, tut mir leid, habe vergessen zu erwähnen, dass ich die App lokal und mit Web-Vorschau laufen. Ich war jedoch in der Lage, "XPage-Laufzeitfehler anzeigen" zu aktivieren und die Protokolldatei in meinem IBM Technical Support-Ordner zu überprüfen. Folgendes habe ich bekommen: ** Seitenname: /testmenu.xsp java.lang.ClassCastException: com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode inkompatibel mit javax.faces.component.StateHolder ** –

Verwandte Themen