본문 바로가기

Freemaker

01. FreeMaker에서 제공하는 내장객체

Controller에서 Session 저장해놓은 정보를 FreeMaker에서 어떻게 사용해야 하느지 원 한참을 구글링 했다.


freemaker.ext.servlet.FreeMarkerServlet 에 보면


아래와 같이 상수로 정의해 놓은게 힌트다.


  1. public static final String KEY_REQUEST = "Request";  
  2. public static final String KEY_REQUEST_PARAMETERS = "RequestParameters";  
  3. public static final String KEY_SESSION = "Session";  
  4. public static final String KEY_APPLICATION = "Application";  
  5. public static final String KEY_JSP_TAGLIBS = "JspTaglibs";  



템플릿에서 ${RequestParameters} 이런식으로 사용하면 되겠다.


로그인 정보를 담았다면 이렇게 사용가능하다.


<#if ! Session.userLoginInfo?exists>

<a href='/login.do'>로그인하기</a>

<#else>

${Session.userLoginInfo.userId}

</#if>


${Session.userLoginInfo.userId} 보면


userLoginInfo는 세션변수 인데 담긴값은 Member 객체를 담았다. 템플릿 형태에서는 형변환 없이 바로 사용이 가능하다.