FreeMarker tiada kaitan dengan bekas web, iaitu, ia tidak tahu tentang Servlets atau HTTP apabila dijalankan di web. Ia bukan sahaja boleh digunakan sebagai teknologi pelaksanaan untuk lapisan pembentangan, tetapi juga boleh digunakan untuk menjana XML, JSP atau Java, dsb.
Untuk memaparkan objek dalam penanda bebas, gunakan ${name}.
Tetapi jika nama adalah batal, penanda bebas akan melaporkan ralat. Jika anda perlu menentukan sama ada objek itu kosong:
<#if name??> …… </#if>
Sudah tentu, anda juga boleh mengelakkan ralat objek kosong dengan menetapkan nilai lalai ${name!''}. Jika nama kosong, nilai lalai (aksara selepas "!") akan dipaparkan.
Jika pengguna objek dan nama adalah atribut pengguna, kedua-dua pengguna dan nama mungkin kosong, maka ia boleh ditulis sebagai ${(user.name)!''}, yang bermaksud bahawa pengguna atau nama adalah batal, kedua-duanya akan dipaparkan sebagai kosong.
Dinilai kosong
<#if (user.name)??> …… </#if>
Kaedah 2:
Untuk nilai null atau miss, freemarker akan melaporkan ralat
!: operator nilai lalai, struktur sintaks ialah: unsafe_expr!default_expr, seperti ${mouse!"No mouse."} Apabila tetikus tidak wujud, kembalikan nilai lalai;
(product.color)!"red" Kaedah ini boleh menangani situasi di mana produk atau warna adalah nilai ketinggalan;
Dan product.color!"red" hanya akan mengendalikan kes di mana warna adalah nilai ketinggalan
??: Pengendali ujian nilai tiada, uji sama ada ia tiada nilai
unsafe_expr??: product.color?? hanya akan menguji jika warna adalah null
(unsafe_expr)??: (product.color)?? akan menguji sama ada produk dan warna adalah batal
? wujud:Penggunaan versi lama
Contohnya:
<#if mouse??> Mouse found <#else> No mouse found </#if> Creating mouse... <#assign mouse = "Jerry"> <#if mouse??> Mouse found <#else> No mouse found </#if>