2011-12-08 4 views
2

나는 boolean isActive() 방법으로 POJO 클래스를가집니다.freemarker에서 object.isXXX() 값을 얻는 방법은 무엇입니까?

나는이 ${task.active?string} 같은 프리 마커 내부에 그것을 사용하고 싶지만 나는

 
Expression task.active is undefined 

를 얻을이 방법을 사용하려면 어떤 방법이 있나요 또는 내 POJO에 boolean getActive()를 추가해야합니까?

+0

기본 '부울'유형을 사용 하시겠습니까? 나를 위해'부울 isActive()'잘 작동하지만 박스형 variant'Boolean isActive()'는 위에서 언급 한 오류를 생성합니다. – Chaquotay

+0

이것이 유형이라고 밝혀졌습니다 :) 여전히'부울'은'부울'과 다르게 취급됩니다. –

답변

2

JavaBean 속성이고 모양이 하나 인 경우 task.active으로 사용할 수 있어야합니다. 결국 FreeMarker는 표준 JavaBeans API를 사용하여 사용 가능한 속성을 쿼리합니다. 그러나 여기에 문제를 일으킬 수있는 몇 가지가 있습니다 ... 하나는 Chaquotay가 언급 한 것입니다. 즉, 대신 boolean (자바 빈즈 사양은 동일하지 않다고 말함)입니다. 다른 하나는 taskMap 인터페이스를 구현하는 경우입니다.이 경우 simpleMapWrappertrue으로 설정된 경우 FreeMarker는 맵 키만 노출합니다.

관련 문제