나는 콧수염을 사용하여 서버뿐만 아니라 클라이언트에서도 물건을 렌더링합니다. 전략은 단일 페이지 응용 프로그램 (서버에 콧수염으로 렌더링)이 있고이 템플릿은 서버에서 미리보기를 가져 와서 클라이언트에서 json을 렌더링하는 데 사용합니다.콧수염 템플릿을 사용할 때 누락 된 속성을 처리하기위한 전략을 어떻게 플러그인 할 수 있습니까?
이제 템플릿에 문제가 있습니다. 서버에 레이블을 렌더링하고 싶지만 클라이언트에서 렌더링 할 수있는 콧수염 구문을 그대로 두십시오.
<html>
<head><title>{{label.title}}</title></head>
<body>
<h1>{{name}}</h1>
<p>{{description}}</p>
</body>
</html>
서버 측 렌더링이 라벨을 작성하지만, 지금은 상황에 보이지 않는 자리 표시자를 제거합니다의 내가 템플릿과 같이 있다고 가정 해 봅시다.
<html>
<head><title>Ze zjerman title</title></head>
<body>
<h1></h1>
<p></p>
</body>
</html>
스케일을 연결하고이를 방지하는 방법이 있습니까? 나는 순진하게도 멀리로 얻을려고 :
templateEngine.layout(path, Map(attributes:_*).withDefault((key)=>"{{"+key+"}}"))
...하지만 분명히 그 즉시지도 (TemplateEngine 라인 (576)에서, 예를 들어) 루프를 통해 처리 될 때 삭제됩니다. 이것을위한 적절한 플러그 포인트는 어디에 있습니까? 내가 scalatra-을 사용하고
...
는 또한 RenderContext에 noneString 및 nullString을 발견했습니다,하지만 난이 변수는 단지 문자열이기 때문에 내가 거기 렌더러 출력에게 키를 만들 수 없다고 생각 scalate 2.0.2 및 scala 2.9.0-1.
결국 내가 결국 생각한 전략입니다. 심지어 [[그들은 동일합니다. http://mustache.github.com/mustache.5.html 링크를 추가해야합니다. 그리고 더 중요한 것은, 이것에 대한 대처법이 무섭기 때문에, 당신이 그들을 바꾼 후에 당신의 구획 기호를 공백으로 둘러 쌓아야한다는 것입니다. (계산하는데 수 시간이 걸렸습니다) – iwein
"Set Delimeter"는 http://mustache.github.com/에 링크되어 있습니다. mustache.5.html;) 알아 낸 게 다행이다. – maxbeatty