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