2012-05-22 12 views
5

में डेट ऑब्जेक्ट में इनपुट टेक्स्ट को मैप करना मैं जेएसएफ के लिए बहुत नया हूं। मैं एक कस्टम डेटपिकर का उपयोग कर जेएसएफ inpuText घटक में एक तिथि प्राप्त करने की कोशिश कर रहा हूं (jquery का उपयोग करके बनाया गया है और उपयोगकर्ता कैलेंडर घटक नहीं कर सकता)। मैं इस इनपुट टेक्स्ट को बीन में जावा डेट ऑब्जेक्ट में मैप करना चाहता हूं (जिसे अंततः डीबी में दिनांक के रूप में संग्रहीत किया जाएगा)। इसे प्राप्त करने का एक तरीका है बीन में स्ट्रिंग रखना और गेटर्स और सेटर्स में कन्वर्टर्स लिखना, जो मेरे लिए अच्छा नहीं लग रहा है। क्या इस समस्या को हल करने के लिए कोई अनुशंसित दृष्टिकोण है। किसी भी मदद/संकेत/लिंक की सराहना की जाती है।जेएसएफ

+1

आप प्राइमफेस जैसी लाइब्रेरी का उपयोग करने पर विचार क्यों नहीं कर रहे हैं जो पहले से ही इस तरह की समस्याओं के लिए समाधान समाधान प्रदान करता है? पी देखें: उदाहरण के लिए कैलेंडर – perissf

+0

@perissf: हाँ मैं समृद्ध सुविधाओं का उपयोग कर रहा हूं और जैसा कि मैंने अपने प्रश्न में उल्लेख किया है कि मैं "कैलेंडर घटक" का उपयोग नहीं कर सकता। वास्तव में हमने अपने स्वयं के डेटपिकर को डिज़ाइन और अनुकूलित किया है। क्या हम इसे jquery datepicker से प्राप्त नहीं कर सकते? –

+3

@ उमर हायाट - कोर एपीआई एक [कन्वर्टडेटाइम] (http://docs.oracle.com/cd/E17802_01/j2ee/javaee/javaserverfaces/2.0/docs/pdldocs/facelets/f/convertDateTime.html) कनवर्टर के साथ आता है । – McDowell

उत्तर

23

आप इस

<h:inputText value="#{backingBean.someDate}"> 
    <f:convertDateTime pattern="yyyy-MM-dd"/> 
</h:inputText> 

जहां someDate एक util तारीख & समर्थन सेम में एक्सेसर तरीकों है की तरह कोशिश कर सकते हैं खोजने चाहिए।

0

मुझे यकीन नहीं है कि मैं आपके प्रश्न को अच्छी तरह से समझ गया हूं, हालांकि जो कुछ मैंने समझ लिया है उससे आपकी समस्या बिल्कुल जटिल नहीं लगती है। बस अपना इनपुट सही तरीके से सहेजें और मूल्य को अपने बीन में पास करें। तिथि वर्ग की तारीखें इस तरह के घंटे, मिनट सेकंड को हटा दिया गया है (हालांकि आप अभी भी उनका उपयोग कर सकते हैं)। इसके अलावा आप केवल लंबे मूल्य को पारित करने का प्रयास कर सकते हैं, लेकिन मुझे यकीन नहीं है कि यह कैसे काम करता है। आप सभी की जरूरत विनिर्देश here