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

标签 java scala playframework playframework-2.0

我想使用 java 类实现 @routes.Assets.versioned("com/images/image.png") 目前我在我的 scala.html 文件中使用上面的图像来返回图像的路径。现在我想调用像 @utils.UtilClass.getImage("com/images/image.png") 这样的 utils 类方法,以便我想将 CDN 基本路径附加到我从 @routes.Assets 获取的版本化图像路径。 versioned() 因为我需要在java类中复制routes.Assets.versioned()的功能,我尝试了Assets.versioned("", Asset),它返回一个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();
}

关于java - 在java类中实现@routes.Assets.versioned (""),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36042807/

相关文章:

scala - 如何在 Scala 中实现速率限制器?

database - 当具有多个具有 Play Framework 的数据库时不能使用 save()

scala - 在Play 2路由中处理自由格式的GET URL参数

html - 206 - 加载 mp3 文件时的部分内容状态

java - 如何在 JPA 中创建成对列表作为参数?

java - 斯卡拉 : how to start an actor in array?

java - 句子中元音的降序排列

scala - SBT-Scala 2.10.4 : missing scala. tools.nsc.Global

java - 在黑/白背景上旋转的 2D 图形

java - FFMpeg - 将多个 rtmp 流输入合并到单个 rtmp 输出