String 属性 (コンテンツ) の 1 つに Scala テンプレート コードが含まれているモデル (ページ) を作成しています。
<img src="@routes.Assets.at("images/image.gif")" alt="alt text" />
私の Scala テンプレートでは、モデルを渡します。
@(page: models.Page)
@Html(page.getContent())
予想どおり、@routes.Assets.at はアセット パスに解決されません。
- この目的に役立つ eval() タイプのユーティリティ関数は Play 2.0 にありますか?
- または、コントローラ内からアセット ルートによって表される実際のパスを取得できますか? その後、文字列の置換を実行します
編集 - より多くのコンテキストを提供するには:
コントローラーコード:
ObjectMapper mapper = new ObjectMapper();
Page page = new Page();
// TODO: request().uri() mapping to json resource
File x = Play.current().getFile("/content/index.json");
try {
page = mapper.readValue(x, Page.class);
} catch (JsonParseException e) {
e.printStackTrace();
} catch (JsonMappingException e) {
e.printStackTrace();
} catch (IOException e) {
return notFound();
}
モデルコード:
public void setContent(String content) {
// TODO: replace to resolve assets route
this.content = StringEscapeUtils.unescapeHtml4(content);
}
アプローチに関する解決策やコメントを高く評価してください。
ありがとう