क्या एक ऐसी विधि को कॉल करना संभव है जो Freemarker टेम्पलेट से पैरामीटर लेता है?मैं किसी ऑब्जेक्ट पर फ्रीमार्कर टेम्पलेट से जावा विधियों को कैसे कॉल करूं?
मेरे पास एक ऑब्जेक्ट मॉडल है जिसे मैं एक वेब पेज में फ्रीमार्कर के साथ प्रस्तुत करने का प्रयास कर रहा हूं। वस्तुओं में से एक यह सामग्री का sublist प्राप्त करने के लिए एक विधि है - एक पैरामीटर है कि सूची को फ़िल्टर करने के लिए इस्तेमाल लेने:
public List getunits(final String type);
मैं JSP में पता है कि तुम इस सीधे नहीं कर सकते, लेकिन आप कर सकते हैं कस्टम फ़ंक्शंस लिखें जो आपको इच्छित परिणाम प्राप्त करने की अनुमति देगा। आप Freemarker में इसे कैसे हल करते हैं? क्या यह कस्टम कार्यों को लिखने के साथ ही है? या वास्तव में इस तरह के समारोह को बुलाए जाने का कोई तरीका है?
समस्याओं था जब मेरे सेम एक ट्री-मैप का विस्तार किया गया था। यह उस मामले में विधि नहीं ढूंढ सकता है। – tbraun
@tbraun: आपको उस मामले में '? Api' की आवश्यकता है। 'मैप' के तरीकों का खुलासा नहीं किया गया है (कम से कम 'डिफ़ॉल्ट ऑब्जेक्टवापर' के साथ) क्योंकि जावा में विपरीत, एफटीएल में, विधियों का अपना नामस्थान नहीं होता है। इसलिए वे मानचित्र में चाबियों के साथ मिश्रण करेंगे, जैसे 'myMap.someKey' और' myMap.get' ('Map.get' विधि लौटाता है) दोनों कुछ वापस कर देंगे, और दोनों को' myMap? Keys 'के साथ सूचीबद्ध किया जाएगा, आदि यह एक गड़बड़ होगी। तो डिफ़ॉल्ट रूप से 'myMap.something' केवल' कुछ '' मानचित्र 'कुंजी की तलाश करता है, न कि' कुछ 'विधि। लेकिन आप इसे 'myMap? Api.get (...)' के आसपास काम कर सकते हैं। – ddekany