나는 그것의 문자열 속성 (내용) 중 하나가 스칼라 템플릿 코드 포함된다 모델 (페이지) 채우는 해요 :@Html를 사용하여로드 코드() 내에서 routes.Assets.at @ 2.0 재생
<img src="@routes.Assets.at("images/image.gif")" alt="alt text" />
에서을 내가 모델 전달 내 스칼라 템플릿 : routes.Assets.at은 자산 경로로 해결되지 @
@(page: models.Page)
@Html(page.getContent())
, 예상대로.
- 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);
}
는 솔루션이나 의견 감사합니다 접근 방식.
감사
서식 파일로 전달하기 전에 경로를 확인하지 않는 이유는 무엇입니까? – biesior
포인트 2 당. 나는 이것이 컨트롤러 내에서 일어날 것이라고 추정한다. 그러나 어떻게? – raq
문자열을 평가하는 컨트롤러 코드에서 XML 리터럴로 처리 할 수 있습니다. '' –