2011-09-20 12 views
5

inputText मैं एक <h:inputText> जो इसबचें डिफ़ॉल्ट लंबे मूल्य ज में प्रदर्शित करने के लिए:

<h:inputText value="#{ServiceTable.ID}" /> 

की तरह एक long मान स्वीकार संपत्ति इस

public class ServiceTable { 

    private long ID; 

    // Getter and setter for ID. 
} 

की तरह घोषित किया जाता है जब मैं खुले पेज, मैं हमेशा टेक्स्टबॉक्स में 0 देखता हूं। मैं इससे कैसे बच सकता हूं? मुझे बस एक खाली टेक्स्टबॉक्स चाहिए। मैं जेएसएफ 1.2 का उपयोग कर रहा हूँ।

उत्तर

8

long के बजाय Long का उपयोग करें। यह null पर डिफ़ॉल्ट है।

private Long ID; 

और, आप बिलाव 6.0.16 या नए या इसके बारे में एक कांटा चला रहे हैं, तो आप पुरातन और उनके रैपर की ईएल बलात्कार को निष्क्रिय करने के रूप में अच्छी तरह सर्वर स्टार्टअप तर्क के लिए निम्न वीएम तर्क जोड़ने की जरूरत :

-Dorg.apache.el.parser.COERCE_TO_ZERO=false 
+0

प्रतिक्रिया के लिए धन्यवाद बलससी। मैं नियमित रूप से आपके ब्लॉग को पढ़ता हूं। यह बहुत ही जानकारीपूर्ण और नवजात लोगों के लिए उपयोगी है। क्या आप मुझे समझा सकते हैं कि क्या अंतर है? – Sreeram

+0

'लांग' एक आदिम है जिसमें कक्षा/आवृत्ति चर के रूप में घोषित होने पर '0' का डिफ़ॉल्ट मान होता है। 'लांग' एक रैपर ऑब्जेक्ट है जिसमें' शून्य 'का डिफ़ॉल्ट मान होता है। यह सिर्फ मूल जावा है। आदिम प्रकारों पर जावा ट्यूटोरियल भी देखें: http://download.oracle.com/javase/tutorial/java/nutsandbolts/datatypes.html – BalusC

+0

मदद के लिए धन्यवाद BalusC.It काम किया। क्या आप बता सकते हैं कि उपरोक्त आदेश कहां जोड़ना है? – Sreeram

1

भयानक! कई डेवलपर्स के पास वास्तविक सर्वर तक पहुंच नहीं है, और कभी-कभी आप क्लाइंट के पास नहीं जाते हैं और उसे बताते हैं: "अपने सर्वर को रोकें और इस स्टार्टअप विकल्पों के साथ सबकुछ पुनरारंभ करें"।

अपाचे टीम में लोगों ने कभी इस बारे में क्यों सोचा नहीं?

यदि आप ऐसी स्थिति में हैं - जैसे खुद - एक और समाधान क्षेत्र को स्ट्रिंग के रूप में प्राप्त करना है और इसे अपने बैकिंग बीन में मैन्युअल रूप से पार्स करना है।

संबंधित मुद्दे