मेरे पास एक फ्रीमार्कर टेम्पलेट है जिसमें प्लेसहोल्डर का एक गुच्छा है जिसके लिए टेम्पलेट संसाधित होने पर मूल्य प्रदान किए जाते हैं। मैं सशर्त टेम्प्लेट के हिस्से शामिल करने के लिए करता है, तो उपयोगकर्ता नाम चर आपूर्ति की है चाहते हैं, कुछ की तरह:कैसे जांचें कि एक फ्रीमार्कर टेम्पलेट में कोई चर मौजूद है या नहीं?
[#if_exists userName]
Hi ${userName}, How are you?
[/#if_exists]
हालांकि, FreeMarker मैनुअल संकेत मिलता है कि if_exists बहिष्कृत हो गई है लगता है, लेकिन मैं एक और तरीका है इस लक्ष्य को हासिल करने के लिए नहीं मिल सकता है । बेशक, मैं साधारण इस तरह एक अतिरिक्त बूलियन चर isUserName प्रदान कर सकता है और उपयोग करते हैं:
[#if isUserName]
Hi ${userName}, How are you?
[/#if]
लेकिन अगर जाँच userName मौजूद है या नहीं तो मैं इस अतिरिक्त चर जोड़ने से बच सकते हैं का एक तरीका है।
यदि किसी और को इससे फेंक दिया गया है, तो #if वाक्यविन्यास को ब्रैकेट की बजाय वर्णों से कम और उससे अधिक घिरा होना चाहिए। उदाहरण के लिए: <#if userName ??> – Cameron
इस वाक्यविन्यास का उपयोग करना वास्तव में संभव है, इसलिए मैंने अभी प्रश्न के वाक्यविन्यास का पालन किया: http://freemarker.sourceforge.net/docs/dgui_misc_alternativesyntax.html –
यह केवल देखें जांचें कि var मौजूद है या नहीं। लेकिन अगर आपके पास "userName" में खाली स्ट्रिंग है, तो <#if userName ??> सच हो जाएगा !! इस समस्या को हल करने के लिए इस पृष्ठ पर @ user1546081 उत्तर देखें। –