我有一個Freemarker模板,其中包含一組處理模板時爲其提供值的佔位符。我希望有條件地包括模板的一部分如果用戶名變量提供,像:如何檢查FreeMarker模板中是否存在變量?
[#if_exists userName]
Hi ${userName}, How are you?
[/#if_exists]
但是,FreeMarker的手冊似乎表明if_exists已過時,但我不能找到另一種方式來實現這一目標。當然,我可以簡單的提供一個額外的布爾變量isUserName和使用這樣的:
[#if isUserName]
Hi ${userName}, How are you?
[/#if]
但是,如果有檢查用戶名是否存在,那麼我能避免增加這一額外變量的方法。
如果有其他人被這個拋出,#if語法應該被小於和大於字符而不是括號包圍。例如:<#if userName>> – Cameron 2010-03-17 18:23:39
它實際上可以使用這種語法,所以我只是遵循這個問題的語法: 請參閱http://freemarker.sourceforge.net/docs/dgui_misc_alternativesyntax.html – 2010-03-18 07:52:55
這只是檢查var是否存在。但是,如果你在「userName」中有一個空字符串,那麼<#if userName ??>將返回true!請參閱此頁上的@ user1546081答案以解決此問題。 – 2013-01-15 10:22:46