문서의 이전 판입니다!
Handlebars는 헬퍼가 리턴한 값을 기본적으로 HTML Escape하지만, 헬퍼가 return할 때 이를 SafeString
객체로 감싸서 리턴하면 HTML Escape을 하지 않는다. 물론, 해당 Escape에 대한 보안 책임은 헬퍼를 만든 프로그래머가 져야한다.
handlebars.registerHelper("blog-list", new Helper<List<Blog>>() { public CharSequence apply(List<Blog> list, Options options) { String ret = "<ul>"; for (Blog blog: list) { ret += "<li>" + options.fn(blog) + "</li>"; } return new Handlebars.SafeString(ret + "</ul>"); } });
precompile
과 embedded' 사용.
==== Options ====
*
com.github.jknack.handlebars.Options의
fn 객체에서 현재 템플릿 위치에 대한 정보를 얻을 수 있다.
*
options.fn.text() : helper 문자열 자체
*
options.fn.filename() : 템플릿 파일
*
options.fn.position()[0] : 현재 호출 위치 line number.
*
options.fn.position()[1]'' : 현재 호출 위치 column number.