在Play框架中提供的都是動態文件響應,前端工做內容大部分是靜態文件.Assets大概起的就是這個做用.html
默認路徑看 conf/routes 裏:前端
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.at(path="/public", file)
#註釋大意是靜態文件從 /public 文件夾到 /assets 中URL路徑.java
規則聲明HTTP GET請求 /assets/ 時映射到 Controllers.Assets.at 方法,該方法使用兩個參數,告訴該方法 Path 路徑和 file 文件.windows
缺省使用 /public/filename 路徑,若是須要指定詳細點,能夠定義路由規則:緩存
GET /images/*file controllers.Assets.at(path="/public/images", file)
GET /styles/*file controllers.Assets.at(path="/public/styles", file)
使用assets逆向路由來避免hardocded(硬編碼[百度百科詞條])的URL,Assets.at也是一個普通的Action方法,所以你能夠使用assets逆向路由,例如:ruby
<link href="@routes.Assets.at("images/favicon.png")" rel="shortcut icon" type="image/png">
除了逆向路由的優勢,使用Asset控制器的另一個優勢是內置的緩存支持以及和Http Entity Tag(Etag)的支持.從而容許客戶端根據須要是否要從服務器請求資源仍是能夠使用Cached中的文件.服務器
Assets這個從rails中發展出來的,能夠看看[Ruby-China]中的介紹.oracle