2016-06-13 17 views
0

ここに解決策は、私はクラスパス(コンテキスト) Tapestry 5 - Dynamically generate URL of file in web app context folder in Java codeApacheのタペストリー:META-INF /資産の資産への絶対パス

で資産への絶対パスを取得することができますが保存された資産のために同じことを行う方法はありますMETA-INF/assets(Tapestry 5.4資産を格納する方法)で?

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

    return clientURL; 
} 

具体的には、私は私が持っている..私はMETA-INF /資産フォルダ内に作成した.htmlを(静的)ファイルのパスを注入するために現時点で

が欲しいです

とTMLファイルがあります。

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

"myhtml.html"ファイルをクラスパスフォルダ(WEB-INF)に位置している場合、これは動作します。 META-INF/assetsフォルダー内にある場合は機能しません。

答えて

2

これで資産の資産を保持することができます。

まず、次のものを注入する必要があります。

@Inject 
private AssetSource assetSource; 

@Inject 
private ThreadLocale threadLocale; 

その後、以下を使用してアセットを取得できます。

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