酷いですが一応解説しておくと、URLのエンコード処理がされる前に、URLにQueryStringが付いている事にしてそのまま処理させています。jsやcssだけでなく、自分で指定した静的リソース全てに対して横断的にQueryStringを付ける事ができます。実行結果は以下のようになります。common.jsは「th:src="@{/static/js/common.js}"」で読み込み、index.jsは「src="/static/js/index.js"」で読み込んでいます。thymeleafのth:xxxで読み込んだ場合だけQueryStringが追加されます。src="/static/js/index.js"></script>Environmentを使って環境変数STATIC_VERSIONから任意のバージョン番号を取得し、値が取得できたらそれを使い続ける、無ければアクセス毎に変化するタイムスタンプ値を返す(ローカル環境の場合は常にキャッシュクリアして欲しいので画面リロード毎にQueryString値を変える)、という事をやっています。環境変数を使う事で、ビルドした時にバージョン番号生成し、以降は生成されたバージョン番号を使いまわす、という事が可能になります。キャッシュがクリアされるタイミングはビルドしたタイミングのみ(バージョンが新規に振られた時のみ)です。これで以下のhtmlをビルド時にAnt等のReplaceTokenでVERSIONをリテラルに置換する仕込み作業は不要になります。src="/static/js/index.js${VERSION}"></script>今後はバージョニングを意識せず「th:src="@{/static/js/index.js}"」と書けば自動的にQueryStringが追加されるようになります。ReplaceToken方式だとhtmlに手動で${VERSION}を追加する人力作業が必要なので、うっかり付け忘れてクライアントから「おい画面崩れてる(cssが古い)し画像が更新されてねーぞ!!」と怒られる心配も減りそうです。03:24昔は業務系SIer、今はベンチャー企業でプログラムを書いています。mapDispatchToPropsを撲滅するReactオススメ書籍React自体の基礎、AtomicDesignの適用、CSSの運用手法の歴史的な経緯とメリットデメリット、Reduxの基礎、redux-sagaによる非同期処理、サーバサイドレンダリング、テスト、lint、を学ぶ事ができます。啓太マイナビ出版AmazonAngularオススメ書籍Angularを学ぶなら絶対以下がおすすめです!バインディング、ディレクティブ、パイプ、フォーム、コンポーネント、サービス、ルーティング、httpClientによる非同期httpリクエスト、テスト、angular-cli、を非常に丁寧な説明で網羅的に解説しています。技術評論社AmazonSEOオススメ書籍SEOを学ぶなら絶対以下がおすすめです!クローラに対して何をどうすればサイトの巡回効率・速度を上げる事ができるのか、どういったマークアップをする事が標準仕様なのか。巷に溢れる業者による経験則に基づくオレオレSEO情報は一切無く、全てGoogle等のオフィシャルな情報に基づいて何をすべきか、どんな手段があるのかを解説されています。プログラマな私が業務で行った施策が多く書かれており、プログラマ寄りで高度な内容となっており、巷のビギナー向けの曖昧な情報集とは一線を画しています。Amazonアソシエイト・プログラムの参加者です。reserved.引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。