Apache Tapestry:META-INF / assets中资产的绝对路径

时间:2016-06-13 17:08:33

标签: java tapestry

这里的解决方案帮助我获得类路径(上下文)中资产的绝对路径 Tapestry 5 - Dynamically generate URL of file in web app context folder in Java code

对于存储在META-INF /资产中的资产(Tapestry 5.4存储资产的方式),有没有办法做同样的事情?

具体来说,我想注入我在META-INF / assets文件夹中创建的.html(静态)文件的路径。

目前我有:

public String getMyHtml() {
    String clientURL = assetSource.getContextAsset("html/myhtml.html", locale).toClientURL();

    return clientURL;
}

并且tml文件包含:

"{ url: '${getDeltaHtml()}' }"

如果"myhtml.html"文件位于类路径文件夹(WEB-INF)中,则此方法有效。它在META-INF / assets文件夹中不起作用,我想把它放在哪里

1 个答案:

答案 0 :(得分:2)

您可以通过此方式获取存储在资产下的资产。

首先,您必须注入以下内容。

@Inject
private AssetSource assetSource;

@Inject
private ThreadLocale threadLocale;

之后,您可以使用以下内容获取资产。

Asset asset = assetSource.getAsset(null, "classpath:META-INF/assets/myhtml.html", threadLocale.getLocale());