मैं गुण गाया और विकलांग की कोशिश की, लेकिन यह काम नहीं किया , जो मेरी गलती थी क्योंकि यह एपीआई दस्तावेज़ों के अनुसार उपलब्ध नहीं है।
दरअसल, यह व्यवहार समर्थित नहीं है।
इसके अलावा, वहाँ वर्ग javax.faces.converter.DateTimeConverter
ऐसी है कि जब भी f:convertDateTime
शुरू हो रहा है मेरी कक्षा बुलाया जाएगा ओवरराइड करने के लिए एक तरीका है: हालांकि, एक संभव समाधान के रूप में, आप मूल रूप से पहले से ही इस सवाल का जवाब खुद दिया था?
यह संभव है और आपकी प्रारंभिक समस्या को भी हल करेगा। same <converter-id>
पर <f:convertDateTime>
पर faces-config.xml
में इसे <converter>
के रूप में पंजीकृत करें।
<converter>
<converter-id>javax.faces.DateTime</converter-id>
<converter-class>com.example.YourDateTimeConverter</converter-class>
</converter>
उसमें आप इस तरह की जाँच करता है, तो एक निश्चित बटन दबाने के रूप में, अतिरिक्त सशर्त जाँच कर सकता है, या एक निश्चित अनुरोध पैरामीटर वर्तमान या अनुपस्थित है यदि। यदि आप डिफ़ॉल्ट <f:convertDateTime>
नौकरी जारी रखना चाहते हैं, तो बस super
पर प्रतिनिधि दें, बशर्ते से extends
प्रदान करें।
उदा। getAsObject()
में:
public class YourDateTimeConverter extends DateTimeConverter {
@Override
public void getAsObject(FacesContext context, UIComponent component, String submittedValue) {
// ...
if (yourCondition) {
// Do your preferred way of conversion here.
// ...
return yourConvertedDateTime;
} else {
// Do nothing. Just let default f:convertDateTime do its job.
return super.getAsObject(context, component, submittedValue);
}
}
// ...
}
क्या आपके पास नमूना एक्सएचटीएमएल है? – PDStat