Whiteship's Note

'프리마커'에 해당되는 글 1건

  1. 2008.02.19 프리마커 간단한 매크로 만들기 (3)

프리마커 간단한 매크로 만들기

View/Freemarker : 2008.02.19 19:29


탬플릿 기술인 프리마커를 사용해서 마치 JSP의 커스텀 태그와 비슷한 녀석을 만들 수 있습니다. 그런 녀석을 매크로라고 부릅니다.

프리마커를 사용한 기존의 코드는 다음과 같습니다. 아.. 이런 안타깝게도 순수 프리마커 지시자는 보이지 않습니다. 스프링이 지원하는 커스텀 지시자(매크로)만 보입니다.

<#import "/spring.ftl" as spring />
<html>
<head>
<title>회원 가입</title>
</head>
<body>
회원 정보 입력
<form action"" method="POST">
Name: <@spring.bind "member.name" /> <@spring.formInput "member.name" /> <@spring.showErrors "" /><br/>
<input type="submit" value="submit" />
</from>
</body>
</html>

뭐 상관없죠.  위에서 저 검은색 부분은 왠지 항상 세트로 나올 것만 같은 코드 입니다. 매번 타이핑하기도 귀찮고 <@bindInputError field="member.name" /> 이렇게 하나의 태그로 줄여서 사용하고 싶습니다.

그럼 먼저 새로운 ftl 파일을 하나 만듭니다.

<#import "/spring.ftl" as spring />
<#macro bindInputError field>
 <@spring.bind "${field}" /> <@spring.formInput "${field}" /> <@spring.showErrors "" />
</#macro>

간단하죠. 태그 파일 만들듯이 만들면 됩니다. field라는 변수에는 어떤 값이 들어오는 값을 매크로 안에서 EL 표기법 같은 interpolation이라고 하는 것으로 그 안에 있는 값을 참조할 수있 습니다. 그리고 저 매크로를 사용하려면 다음과 같이 맨 위에 import로 매크로 파일을 추가해주고 사용하면 됩니다.

<#import "lib.ftl" as lib />
<#import "/spring.ftl" as spring />
<html>
<head>
<title>회원 가입</title>
</head>
<body>
회원 정보 입력
<form action"" method="POST">
Name: <@lib.bindInputError field="member.name" /><br/>
<input type="submit" value="submit" />
</from>
</body>
</html>

'View > Freemarker' 카테고리의 다른 글

프리마커 간단한 매크로 만들기  (3) 2008.02.19
top

  1. Favicon of https://darkhorizon.tistory.com BlogIcon darkhorizon 2009.03.13 16:24 신고 PERM. MOD/DEL REPLY

    퍼갈께요..
    감사합니다.

    Favicon of https://whiteship.tistory.com BlogIcon 기선 2009.03.13 17:37 신고 PERM MOD/DEL

  2. realuv 2009.09.09 17:43 PERM. MOD/DEL REPLY

    좋은 정보라 퍼갑니다. 감사합니다~

Write a comment.