2012-12-11 9 views
7

क्या एक शून्य या रिक्त स्ट्रिंग को डिफ़ॉल्ट मान के रूप में इंजेक्ट करना संभव है जो वसंत फ़ाइल में उपयोग किया जाएगा यदि संपत्ति निर्दिष्ट नहीं है? वर्तमान में सबसे अच्छा रहा हैसंपत्ति के डिफ़ॉल्ट मान के रूप में शून्य या खाली स्ट्रिंग का इंजेक्शन

<constructor-arg index="1" value="@{data.url:&quot;&quot;}"/> 

जो कोड में "" पर ले कर जाता है

+1

मुझे लगता है '< कन्स्ट्रक्टर-एर्ग वैल्यू = "" /> 'काम करना चाहिए। यदि आपको इंडेक्स की आवश्यकता है तो आप इसे जोड़ सकते हैं। शायद मुझे आपका प्रश्न सही नहीं मिल रहा है? –

+0

<कन्स्ट्रक्टर-Arg value = "" /> हमेशा एक खाली स्ट्रिंग भेज देगा। मुझे केवल एक खाली स्ट्रिंग में दिलचस्पी है यदि कोई संबंधित गुण फ़ाइल में निर्दिष्ट नहीं है। कृपया http://stackoverflow.com/a/2534949/222867 देखें – qwerty

उत्तर

7

आप SpEL उपयोग करने की कोशिश की है? इस शायद कुछ इस तरह:

<constructor-arg index="1" value="#{'${data.url}'==null?'':'${data.url}'}"/> 

अद्यतन

मैं सिर्फ याद वहाँ एक आसान तरीका है कि (के रूप में अच्छी तरह से here बताया गया है)। प्रयास करें:

<constructor-arg index="1" value="${data.url:''}"/> 
8

यह अगर आप अपने स्रोत में टिप्पणियों का उपयोग कर रहे हैं चाल करना होगा:

@Value("${data.url:#{null}}") 
private String dataUrl; 
5

खाली-एल्विस मेरे लिए काम करता ...

@Value("${http.proxyHost?:}") 
public String proxyHost = null; 
संबंधित मुद्दे