0

String 属性 (コンテンツ) の 1 つに Scala テンプレート コードが含まれているモデル (ページ) を作成しています。

<img src="@routes.Assets.at("images/image.gif")" alt="alt text" />

私の Scala テンプレートでは、モデルを渡します。

@(page: models.Page)
@Html(page.getContent())

予想どおり、@routes.Assets.at はアセット パスに解決されません。

  1. この目的に役立つ eval() タイプのユーティリティ関数は Play 2.0 にありますか?
  2. または、コントローラ内からアセット ルートによって表される実際のパスを取得できますか? その後、文字列の置換を実行します

編集 - より多くのコンテキストを提供するには:

コントローラーコード:

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);
}

アプローチに関する解決策やコメントを高く評価してください。

ありがとう

4

1 に答える 1