最初のリクエストでダウンロードした HTML に CSS をインライン化することで、一部のモバイル Web ページ (またはより正確にはサーバー リクエストの数) を最適化しようとしています。
これらのページは、Vosao ベースの CMS から配信され、Apache Velocity マクロを使用しています。
期待どおり、これはうまく機能します。
<link rel="stylesheet" type="text/css" media="screen" href="/file/downloads/contact.css"
これは失敗します
<style>
#include( "/file/downloads/contact.css" )
</style>
Velocity がファイルを見つけられないため、この出力で
org.apache.velocity.exception.ResourceNotFoundException: Unable to find resource '/file/downloads/contact.css'
そしてこれはログに
org.apache.velocity.runtime.log.CommonsLogLogChute log: ResourceManager : unable to find resource '/file/Downloads/contact.css' in any resource loader.
E 2012-06-20 13:59:19.688
org.apache.velocity.runtime.log.CommonsLogLogChute log: #include(): cannot find resource '/file/Downloads/contact.css', called at vm[line 7, column 3]
速度に関するドキュメント (リソースの ROOT プロパティに関するもの) を読み、ソース コードにも時間を費やしました。私はロード時にそのプロパティをいじりました....そして運がありません。
Velocity に /war ディレクトリ内の静的ファイルのインクルードを実行させるにはどうすればよいですか?