एक Converter
इनपुट फ़ील्ड में जटिल वस्तुओं और इसके विपरीत करने के लिए प्रस्तुत String
अनुरोध पैरामीटर मान से परिवर्तित करने के लिए intented है। हालांकि, <f:param>
केवल शुद्ध आउटपुट है और यह हमेशा मूल्य पर toString()
पर कॉल करेगा। यह Converter
का समर्थन नहीं करता है।
<f:param name="name" value="#{util:prettyUrl(name)}"/>
अद्यतन:
आपका साफ और सबसे अच्छा शर्त एक custom EL function बनाने के लिए, ताकि आप अंततः की तरह अंत है JSF उपयोगिता पुस्तकालय OmniFaces है संस्करण 1.4 (मार्च 2013) के बाद से एक <o:param>
घटक जो <f:param>
को पूर्णतया जेएसएफ कनवर्टर के समर्थन के साथ बढ़ाता है, ठीक उसी तरह जैसे आप <h:outputText converter>
में उपयोग करेंगे।
<h:link outcome="/page" value="#{name}">
<o:param name="name" value="#{name}" converter="somePrettyURLConverter" />
</h:link>
showcase भी देखें।
मेरे पास एक ही सवाल था और मैं इस तरह के समाधान से वास्तव में संतुष्ट नहीं हूं। प्राप्तकर्ता साइट पर 'f: viewParam' का उपयोग कनवर्टर का उपयोग करके ऑब्जेक्ट को पुनर्प्राप्त करने के लिए किया जाता है। तो यह 'एफ: param' के साथ कनवर्टर का उपयोग करने के लिए सीधे आगे होगा। चूंकि उस तर्क को पहले ही कनवर्टर में लागू किया गया है। अब यह तर्क दृश्य में भी मौजूद है और यदि मैं शायद नाम से आईडी में परम बदलता हूं तो मुझे कनवर्टर और साइट को बदलना होगा। कस्टम एल फ़ंक्शन एक वर्कअराउंड होगा, कम से कम अगर प्रारंभिक कनवर्टर इसका भी उपयोग करेगा। – djmj
ने अपनी omnifaces लाइब्रेरी में 'o: param' टैग जोड़ा और यह बहुत अच्छी तरह से काम करता है। – djmj