1

クラスの jar を /Web-Inf/lib ディレクトリに配置し、.class を Web-Inf/classes に配置した後、rptdesign ファイル (レポート プロジェクトの下にある) の javascript 内から Java オブジェクトを呼び出したいと考えています。データセットのオープンイベントで次のようなもの:

gsh = new Packages.de.vogella.birt.stocks.daomock.StockDaoMock(); 

stock = gsh.getStockValues(); 

de.vogella.birt.stocks.daomock以下の Java プロジェクト (ClassPackage) にあるパッケージの名前です。/src

StockDaoMockクラスの名前です。

getStockValues()方法です。

しかし、私はこのエラーが発生します:

cannot evaluate the script. data set script method fetch returned null.expected a boolean value.

なにが問題ですか?


fetch メソッドのすべてのコードを「system.out.println("essai"); return true;」に置き換えてみました。それでも、「データ セット スクリプト メソッド "Fetch" が null を返しました。ブール値が必要です」というエラーが表示されます。

4

2 に答える 2

2

ロギングを有効にして、スタック トレースを表示します。ウィキを参照してください

例外がログに記録されていることを確認してください (例ではメッセージをログに記録するだけです) :-)

" Quick and Dirty Logging " も役立つかもしれません。

クラスローダーの問題もあるかもしれません。クラスローダーのオプションと、BIRT を使用する場合の OSGi によるバンドル検出のデバッグ方法については、このブログ投稿を参照してください。

[編集]エラー メッセージは、メソッドの最後return true;または忘れたことを意味します。return false;fetch

于 2012-08-13T11:55:39.713 に答える
-3

Java はサーバー上で実行され、JavaScript はブラウザーで実行されるため、JavaScript から直接 Java を呼び出すことはできません。

というライブラリがありますDWR (Direct Web Remoting)。Java メソッドを Javascript メソッドに公開できます。Javascript を呼び出すと、AJAX リクエストが作成され、それDWRServletが処理され、目的の Java メソッドが実行され、メソッドの結果がブラウザに返されます。

于 2012-08-14T08:47:21.743 に答える