2017-07-10 7 views
1

J'essaie d'ajouter dynamiquement des nœuds à un contrôle d'accordéon de bibliothèque d'extension. L'idée est de construire un menu avec ses options à partir d'une vue (voir les entrées). J'ai commencé avec une logique très basique que j'ai eu de here (merci à ce type Kraeven X BTW). J'ai déclaré une variable de type accordéon, puis créé une nouvelle instance de BasicContainerNode et BasicLeafNode. Tout a bien fonctionné, j'ai pu ajouter le BasicLeafNode en tant qu'enfant du BasicContainerNode et définir les étiquettes pour les deux. Le problème a commencé lorsque j'ai essayé d'ajouter le nœud nouvellement créé (et son enfant) à mon contrôle d'accordéon à l'aide de la méthode addNode (nœud ITreeNode). La page se bloque avec une erreur 500 (serveur Web HTTP: commande non gérée exception).Ajout de nœuds d'arborescence à un contrôle d'accordéon Xpages Extension Library

Des idées pour lesquelles la méthode addNode (noeud ITreeNode) ne fonctionne pas? Qu'est-ce que je fais mal???

est ici le code SSJS dans mon 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); 
} 

Merci à l'avance pour toute aide.

:)

Répondre

1

Votre code fonctionne bien.

Recherchez un autre problème sur votre XPage. Activez "Afficher la page d'erreur d'exécution XPage" ou consultez le fichier journal sur le serveur pour déterminer les causes de l'erreur.

+0

Salut Knut, merci d'avoir répondu et me donner un tel indice, désolé j'ai oublié de mentionner que je cours l'application localement et en utilisant l'aperçu web. Cependant, j'ai été en mesure d'activer la "page d'erreur d'exécution XPage d'affichage" et de regarder le fichier journal dans mon dossier de support technique IBM. Voilà ce que je suis: ** Nom de la page: /testmenu.xsp java.lang.ClassCastException: com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNode incompatible avec javax.faces.component.StateHolder ** –