[Handlebars] Helper & Custom Helper 사용하기
※ 자세한 사항은 핸들바스 홈페이지 참조
아래 예는 스크립트에서 Helper를 등록해서 사용하는 예제이다
fullName이라는 Helper는 person을 파라미터로 받아서 person.firstName + person.lastName을 해서 fullName을 리턴하는 Helper이다.
Helper들은 아래와 같이 핸들바스에서 뷰를 만들기 위해 특별하게 동작하는 메소드이다.
자주 사용되는 Helper 들은 이미 JAR파일 안에 등록되어 있다.
근데 아래와 같이 위에서 본 스크립트가 아닌 자바파일로 되어있다.
즉, 자바파일로도 Helper를 만들고 Handlebars에서 자바 Helper를 불러서 사용할 수 있다
예제를 위해 "\r\n"이라는 한줄을 내려가게하는 문자가 들어오면 HTML의 <br/>로 바꿔주는 Helper를 만들어보자. 이름은 NewLineHelper라고 하겠다.
모든 핸들바스 핼퍼들은 아래의 Helper 인터페이스를 구현해서 만든다
핼퍼들은 registerHelper() 메소드를 사용해서 등록된다.
핼퍼가 Handlebars에서 사용되면 apply메소드가 호출된다
아래와 같이 NewLineHelper를 구현한다.
※ 주의할 점은, Handlebars.SafeString()으로 한번 꼭 감싸줘야한다.
그래야 <br/>이 "<br/>"이 아닌 HTML로 인식된다
- HandlebarsViewResolver를 등록할때 같이 등록한다
- "newLine"이름으로 NewLineHelper를 등록했다. 핸들바스에서는 {{newLine ...}}로 사용할 수 있다.
- {{newLine testText1}}의 경우 newLine Helper가 testText1에 적용되서 <br/>이 적용된다
- {{testText2}}는 단순히 텍스트만 출력된다.
Custom Helper 를 만들때 Helper 인터페이스를 사용했다.
Helper 인터페이스에서 제공하는 Options를 사용했는데, 이에대해선 나중에 더 공부해야될 것 같다
'Template Engine > Handlebars, Mustache' 카테고리의 다른 글
mustache(템플릿엔진) (0) | 2023.06.01 |
---|---|
[Handlebars] Spring MVC & Handlebars 연동하기 (0) | 2022.02.08 |