bootstrapなどのcssはバージョンが決まっているので、
<link rel='stylesheet' href='@routes.WebJarAssets.at(WebJarAssets.locate("css/bootstrap.min.css"))'>
のようにテンプレートに書いておくことで
<link rel='stylesheet' href='/webjars/bootstrap/3.2.0/css/bootstrap.min.css'>
みたいに出力がされます。新しいバージョンが出たから新しくしたいなあと思ったら、
build.sbtの
"org.webjars" % "bootstrap" % "3.2.0"
を変えるだけで済みます。ただ、自分で作ったcssについてはそんなバージョニングしませんので、変更をしたらよろしく新しいcssにしてブラウザのキャッシュを効かないようにしたいところ。
よくやる方法としては
<link rel="stylesheet" href="/assets/stylesheets/main.min.css?20140101">
のように日付を入れる方法ですね。
これと同じ方法をPlay Frameworkで実現するには、
routes
GET /vassets/*file controllers.Assets.versioned(path="/public", file: Asset)
main.scala.html
<link rel="stylesheet" href="@routes.Assets.versioned("stylesheets/main.min.css")">
とかってやると
<link rel="stylesheet" href="/vassets/stylesheets/29be9ce7f79bfc0738851fb0287e5ac4-main.min.css">
みたいになってほしいのだが、何故かバックスラッシュが入るだけ・・・
<link rel="stylesheet" href="/vassets/\stylesheets\main.min.css">