null
फ्रीमार्कर में मूल्यों को कैसे संभालें? null
डेटा में मान मौजूद होने पर मुझे टेम्पलेट में कुछ अपवाद मिलते हैं।
जवाबों:
आप ??
परीक्षण ऑपरेटर का उपयोग कर सकते हैं :
यह जाँचता है कि क्या वस्तु का गुण शून्य नहीं है:
<#if object.attribute??></#if>
यह जाँचता है कि क्या वस्तु या विशेषता शून्य नहीं है:
<#if (object.attribute)??></#if>
स्रोत: फ्रीमार्कर मैनुअल
has_content
, शून्य-जाँच के लिए, यह भी जाँचता है कि क्या मान रिक्त नहीं है। यह स्ट्रिंग्स, सीक्वेंस, हैश या कलेक्शन के लिए काम करता है। यदि ऑब्जेक्ट एक तारीख, बूलियन या एक संख्या है, तो यह गैर-खाली के रूप में कार्य करता है। अन्य सभी प्रकारों के लिए यह खाली के रूप में कार्य करेगा।
2.3.7 से फ्रीडमर से शुरू, आप इस सिंटैक्स का उपयोग कर सकते हैं :
${(object.attribute)!}
या, यदि आप गुण होने पर डिफ़ॉल्ट पाठ प्रदर्शित करना चाहते हैं null
:
${(object.attribute)!"default text"}
<dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>2.3.22</version></dependency>
आपके pom.xml को जोड़ने के बाद काम कर रहा है ।
${(object.dateAcquired?date)!"not present"}
${salutation!'Dear Mr. or Mrs.'}
मुझे लगता है कि यह दूसरे तरीके से काम करता है
<#if object.attribute??>
Do whatever you want....
</#if>
यदि object.attribute
NULL नहीं है, तो सामग्री मुद्रित की जाएगी।
??
अपने <#if>
बयान के अंत में ऑपरेटर का उपयोग करें ।
यह उदाहरण दर्शाता है कि null
एक फ्रीमेकर टेम्पलेट में दो सूचियों के मानों को कैसे संभालना है ।
List of cars:
<#if cars??>
<#list cars as car>${car.owner};</#list>
</#if>
List of motocycles:
<#if motocycles??>
<#list motocycles as motocycle>${motocycle.owner};</#list>
</#if>