在 java class 中实现 @routes.Assets.versioned("")

Implementing @routes.Assets.versioned("") in java class

我想使用 java class 实现 @routes.Assets.versioned("com/images/image.png") 目前我在我的 scala.html 文件中使用上面的image which return 图片的路径。现在我想调用一个 utils class 方法,比如 @utils.UtilClass.getImage("com/images/image.png") 这样我想将 CDN 基本路径附加到我从 @[=17= 获得的版本化图像路径]() 为此,我需要在 java class 中复制 routes.Assets.versioned() 的功能,我尝试了 Assets.versioned("", Asset) returning 一个 Action 对象并且知道如何从对象中提取版本化路径。感谢任何帮助。

很简单:

String url = 'images/favicon.png';
String versionedUrl = controllers.routes.Assets.versioned(new controllers.Assets.Asset(url)).toString()

例如,我在 Play 的 Handlebars 助手中有这样的方法:

/**
* Do the same as "@routes.Assets.versioned" in Twirl.
* 
* @param url
*          relative path to the asset
* @return actual path to the asset
*/
public static CharSequence asset(final String url) {
  return controllers.routes.Assets.versioned(new controllers.Assets.Asset(url)).toString();
}