문서의 이전 판입니다!
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
사용.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.