2012-03-13 10 views
0

JSPのCrystal Reportに問題があります。crystal_servlet_uriをカスタマイズするには?

レポートは最初のページが正常に表示されましたが、次のページを表示したり、エクスポートすることができませんでした。 私はツールを使用してエラーをキャッチしました。無効なリクエストによってエラーが発生することがわかりました。 たとえば、私のプロジェクトのURL:http://localhost:8080/myprojectですが、次のページに移動したりレポートをエクスポートすると、http://localhost:8080/CrystalReportViewerHandlerにリクエストされます。 http://localhost:8080/myproject/CrystalReportViewerHandlerである必要があります。

私は何をしようとしていることはweb.xmlにcrystal_servlet_uri入れて:

<context-param> 
    <param-name>crystal_servlet_uri</param-name> 
    <param-value>/myproject/CrystalReportViewerHandler</param-value> 
</context-param> 

しかし、要求が(まだhttp://localhost:8080/CrystalReportViewerHandler)を変更されていません。 誰かがこの問題の別の解決策を知っていますか?

ありがとうございます!

答えて

0

この全く同じ問題が発生しました。私が見つけた唯一の解決策は、CrystalReportsViewer.jspをプロジェクトのドキュメントルートに配置することです。 WEB-INFの下のどこにでも置くと、次の呼び出し(次のページなど)から 'myproject'が削除されます。

ただし、CrystalReportViewerオブジェクトを作成および処理するために使用するJSPがWEB-INF(その中にない)の横に配置されている場合は、「myproject」が再び表示され、すべてが機能します。

これは、セキュリティの観点からは最も良いニュースではないかもしれませんが、リクエスタはこのJSPに渡すためのReportClientDocumentを既に持っていて、その部分でアクセスを制御できます。

+1

コントローラがどのようにそのビュー(CrystalReportViewer.jsp)に戻るかわかりません。 私の現在のソリューションはTomcatのROOTディレクトリに自分のプロジェクトを配備しています。 –

関連する問題