FreeMarker는 웹 컨테이너와 아무런 관련이 없습니다. 즉, 웹에서 실행될 때 서블릿이나 HTTP에 대해 알지 못합니다. 프리젠테이션 계층의 구현 기술로 사용될 수 있을 뿐만 아니라 XML, JSP 또는 Java 등을 생성하는 데에도 사용할 수 있습니다.
freemarker에 개체를 표시하려면 ${name}을(를) 사용하세요.
그러나 이름이 null이면 freemarker에서 오류를 보고합니다. 객체가 비어 있는지 확인해야 하는 경우:
<#if name??> …… </#if>
물론 기본값 ${name!''}을 설정하여 객체가 비어 있는 오류를 방지할 수도 있습니다. 이름이 비어 있으면 기본값("!" 뒤의 문자)이 표시됩니다.
객체 user 및 name이 user의 속성인 경우 user 및 name이 모두 비어 있을 수 있으며 ${(user.name)!''}로 쓸 수 있습니다. 이는 user 또는 name이 모두 null임을 의미합니다. 비어있는 것으로 표시됩니다.
빈 것으로 판단
<#if (user.name)??> …… </#if>
방법 2:
null 또는 누락된 값의 경우 freemarker에서 오류를 보고합니다.
!: 기본값 연산자, 구문 구조는 unsafe_expr!default_expr, 예: ${mouse!"No mouse"} 마우스가 없으면 기본값을 반환합니다.
(product.color)!"red" 이 방법은 제품이나 색상이 잘못된 값인 상황을 처리할 수 있습니다.
그리고 product.color!"red"는 색상이 누락된 경우에만 처리됩니다
??: 결측값 테스트 연산자, 결측값 여부를 테스트합니다
unsafe_expr??: product.color??는 색상이 null인 경우에만 테스트합니다
(unsafe_expr)??: (product.color)??는 제품과 색상이 null인지 테스트합니다
?존재:이전 버전 사용
예:
<#if mouse??> Mouse found <#else> No mouse found </#if> Creating mouse... <#assign mouse = "Jerry"> <#if mouse??> Mouse found <#else> No mouse found </#if>
위에서는 두 가지 방법을 사용하여 객체가 비어 있는지 확인하는 freemarker 방법을 소개했습니다.