我正在填充一个模型(页面),其中一个字符串属性(内容)包含 Scala 模板代码:
<img src="@routes.Assets.at("images/image.gif")" alt="alt text" />
在我的 Scala 模板中,我传入了模型:
@(page: models.Page)
@Html(page.getContent())
正如预期的那样,@routes.Assets.at 没有解析为资产路径。
- Play 2.0 中是否有 eval() 类型的实用程序函数来实现此目的?
- 或者,我可以从控制器内部导出资产路由表示的实际路径吗?然后我将随后执行字符串替换
编辑 - 提供更多上下文:
控制器代码:
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);
}
感谢任何解决方案或对方法的评论。
谢谢