2017-12-13 11 views
0

XMLをpdfに変換する必要があります。このためには、入力ストリーム内のワークスペース内にあるxslファイルを読み込む必要があります。このロジックは私のitemwriterクラス内にあるはずです。私のitemwriterクラス内のservletcontextを取得するには?アイテムライタークラスのサーブレットコンテキスト

+0

[最小、完全、および検証可能な例](https://stackoverflow.com/help/mcve) – vinS

+0

あなたのアプリケーション全体をウェブに特に結び付けたくない「ServletContext」は使用しないでくださいバッチジョブではありません。 –

+0

inputstreamでxslファイルを読むには? – Chris

答えて

0

private static staticServletContextフィールドと

public static getServletContext() { 
    return staticServletContext; 
} 

方法でシングルトン豆ServletContextHolderを作成します。

サーブレットコンテキストが利用できる場所に初期化ロジックを追加します。例えば。コントローラー内でHttpServletRequestパラメーターを追加し、request.getServletContext()を呼び出して、ServletContextHolder Beanの静的フィールドにコンテキストを割り当てます。

次に、ItemWriterの静的フィールドにアクセスします。

スレッドのローカルストレージに要求を格納し、要求からコンテキストを取得することもできます。要求が利用可能なコントローラからItemWriterスレッドが呼び出された場合、その要求にアクセスできます。

+0

私はwriterクラス内でservletcontextを取得しません – Chris

関連する問題