私もあなたと同じように、Jasper Reports の Spring ヘルパー クラスから始めましたが、Spring では珍しく、粒度が粗すぎて柔軟性に欠けるため、すぐにそれらを放棄しました。後付けとして追加されたようです。
私が抱えていた大きな問題は、一度コンパイルすると、新しいバージョンを入れるために appserver バウンスが必要になることでした。私の場合、JSP が通常どのように機能するかのように、ディスク上でそれらを変更して再コンパイルできるソリューションを求めていました (この機能をオフにしない場合、多くの運用サイトではそうなります)。
あるいは、jrxml ファイルをデータベースに保存したり、レポートをリモートで (たとえば、JasperServer Web サービス インターフェイスを介して) 実行したりしたいと考えていました。Spring クラスは、そのような機能を実装することをほとんど不可能にしました。
だからあなたへの私の提案は次のとおりです:あなた自身をロールバックしてください。ただし、途中でいくつかの落とし穴がありますが、痛みを最小限に抑えるためにそれらを共有します. これらのいくつかは、ドキュメントから明らかではありません。
最初に必要なのは、ジャスパー レポート コンパイラです。これは、jrxml ファイルを JasperDesign オブジェクトにコンパイルする役割を果たします。これにはいくつかの実装がありますが、必要なものは JRJdtCompiler です。これをインスタンス化して、Spring アプリケーション コンテキストに注入できます。レポートを大きな beanshell スクリプトとして実行するのは特に高速でも効率的でもないため、beanshell コンパイラのようなものは避けてください (よくわからないうちに、これは難しい方法であることがわかりました)。
JRJdtCompiler の jar ファイルを含める必要があります。完全な Jasper Reports dist にはこの jar が含まれていると思います。そのエクリプス製品。
JasperDesign は好きな場所に保存できます (HttpSession、サーブレット コンテキストなど)。fillReport() メソッドは、あなたが関心を持っている主要なメソッドです。このメソッドは、実行レポートのインスタンスである JasperPrint オブジェクトを作成します。パラメータはマップとして渡されるだけです。
HTML、PDF などで versino を作成するには、エクスポートする必要があります。これを行うには、JRHtmlExporter や JRPdfExporter などのクラスを使用します。特定のパラメーターが必要です。HTML には明らかに画像が含まれていないため、注意が必要なのは HTML エクスポーターです。Jasper には、セッション (JRHtmlExporter が配置した場所) からこれらを取得する ImageServlet クラスが含まれていますが、HTML エクスポーターとイメージ サーブレットの両方の構成を適切に取得する必要があり、どこが間違っているのかを判断するのは困難です。
詳細は覚えていませんが、Jasper Reports Definitive Guideにこのすべての例があります。US$50とかなり安いです。年間サブスクリプションも取得できますが、18 か月以上の間、私はそれを見てきましたが、変更は 1 つも見られませんでした. 必要な場合は、新しいバージョンが出たときに購入してください (おそらくそうではないでしょう)。
お役に立てれば。