2009년 9월 12일 토요일

[freemarker]boolean 값 처리


    @RequestMapping("/test/test1.gs")
    public ModelAndView test1(@ModelAttribute("kkaok") TestDto testDto, Test2Dto test2Dto, BindingResult errors) throws Exception {
        ModelAndView mav = new ModelAndView("/test/test1");
        boolean testBoolean = true;
        mav.addObject("testBoolean", testBoolean);
        return mav;
    }

서버단에서 아래처럼 값을 내려 준다고 할때

${testBoolean}

이렇게 하면 에러가 난다.

${testBoolean?string}


이런식이어야 하는데 조건에 따라 다른 값을 보여 줘야 한다면?

${testBoolean?string("니가 맞아^^","내가 틀릴줄 알았다!!!")}


굳이 조건문이 들어 갈 필요가 없다.


그외
$(booleaValue?string) 이렇게 하면 기본 값은 true, false이다. 두개의 값은 comma로 구분되며
이 기본 값을 바꿀 수도 있다.
<#setting boolean_format = "good,bad">

이렇게 상단에 설정을 해 주고
${testBoolean?string} 이렇게 하면 화면에 보이는 결과는 good이 찍히게 된다.
전체 페이지에 필요하다면 공통으로 뽑아서 include하면된다.
전체에 쓰는데 굳이 include하고 싶지 않다면 시스템 설정에 추가해주면된다.

 <!-- freemarker config -->
 <bean
  class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">
  <property name="templateLoaderPath" value="/WEB-INF/templates" />
  <property name="freemarkerSettings">
   <props>
    <prop key="number_format">###.###</prop>
    <prop key="date_format">yyyy-MM-dd</prop>
    <prop key="boolean_format">yes,no</prop>
      </props>
  </property>
 </bean>

댓글 없음:

댓글 쓰기