2017-07-10 11 views
1

拡張ライブラリAccordionコントロールにノードを動的に追加しようとしています。全体的なアイデアは、オプションからビュー(ビューエントリ)を持ってメニューを構築することです。私はhere(この男Kraeven X BTWのおかげで)から得た非常に基本的なロジックで始めました。私は、アコーディオン型の変数を宣言し、次にBasicContainerNodeとBasicLeafNodeの新しいインスタンスを作成しました。すべて正常に動作し、BasicLeafNodeをBasicContainerNodeの子として追加し、両方のラベルを設定することができました。 問題は、addNode(ITreeNodeノード)メソッドを使用して、新しく作成したノード(およびその子ノード)をアコーディオンコントロールに追加しようとしたときに開始されました。 ページがクラッシュし、エラー500(HTTP Webサーバー:コマンドで処理されない例外)が発生します。ツリーノードをXpagesエクステンションライブラリに追加するAccordion Control

addNode(ITreeNodeノード)メソッドが機能しない理由は何ですか?私は間違って何をしていますか?任意の助けを事前に

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

ありがとう:

は、ここに私のafterPageLoadでSSJSコードです。

:)

答えて

1

コードはうまくいきます。

あなたのXPageでその他の問題を探します。 「XPageランタイムエラーページを表示する」を有効にするか、サーバー上のログファイルを調べてエラーの原因を調べます。

+0

こんにちはKnut、返信して、私にそのようなヒントを与えてくれて申し訳ありません、私はローカルでアプリを実行していると言及して忘れて、Webプレビューを使用しています。しかし、「XPageランタイム・エラー・ページの表示」をアクティブにして、IBMテクニカル・サポート・フォルダーのログ・ファイルを調べることができました。これは私が持っているものです: **ページ名:/testmenu.xsp java.lang.ClassCastException:com.ibm.xsp.extlib.tree.impl.BasicContainerTreeNodeはjavax.faces.component.StateHolderと互換性がありません** –

関連する問題