2012-07-26 12 views
6

मैं निम्नलिखित बता गया है:Grails छ: कोई चयन चयन

<g:select name="ticketType" from="${app.domain.enums.TicketType?.values()}" 
           keys="${app.domain.enums.TicketType.values() }" 
           value="${ticketInstance?.ticketType}" 
           noSelection="${['null': 'Select One...']}" 
        /> 

मैं से सेट किया हुआ आदेश वस्तु में ticketType निम्नलिखित बाधा

ticketType nullable: true, blank:true 

TicketType एक बहुत ही सरल enum है:

public enum TicketType { 
     QUESTION, SUPPORT, MAINTENANCE, NEW_FUNCTIONALITY, MALFUNCTION 
} 

और हर बार जब मैं अपने जीएसपी में टिकट टाइप के लिए कुछ मूल्य निर्धारित नहीं करता हूं तो मुझे निम्न त्रुटि मिलती है:

Failed to convert property value of type 'java.lang.String' to required type 'com.coming.enums.TicketPriority' 

यह कोई चयन जी के मामले में है: चयन करें "शून्य" (स्ट्रिंग) के लिए मान सेट करें।

मुझे क्या याद आ रही है?

+0

कृपया अपने 'जी: का चयन करें' का कोड दिखाएं ... – aiolos

+0

@aiolos क्षमा करें - फ़ॉर्मेटिंग में कुछ त्रुटि हुई थी। मैंने अपनी पोस्ट संपादित की है। – drago

उत्तर

14

बल्कि 'अशक्त' शाब्दिक का उपयोग करने से, आप के रूप में एक खाली स्ट्रिंग उपयोग करने की कोशिश की है अपने कोई चयन विशेषता नहीं है? जैसे noSelection="${['':'Select One...']}"? डेटा बाध्यकारी के दौरान यह एक वास्तविक शून्य मूल्य में उचित रूपांतरण कर सकता है।

+0

इस तरह मैं आमतौर पर ऐसा करता हूं लेकिन यह काम नहीं करता है। तो मैंने विभिन्न विकल्पों के साथ खेला। इस बीच मैंने नियंत्रकों और सेवाओं में कुछ कोड बदल दिए हैं, और NoSelection = "$ {['': 'एक का चयन करें ...']} पर कोई चयन नहीं किया है" और अब यह काम करता है। Gremlins :) – drago

2

आपकी त्रुटि कहता है - आपके पास noSelection में एक स्ट्रिंग है। इसे आपके किसी भी enum मानों में परिवर्तित नहीं किया जा सकता है।

अपने null के उद्धरण चिह्न निकालें और इसे काम करना चाहिए (यह grails 2.0 के साथ मेरे लिए काम करता है):

<g:select name="ticketType" from="${app.domain.enums.TicketType?.values()}" 
          keys="${app.domain.enums.TicketType.values() }" 
          value="${ticketInstance?.ticketType}" 
          noSelection="${[null: 'Select One...']}"/> 
+0

मैंने कोशिश की है कि पहले से ही और यह अभी भी काम नहीं कर रहा है। कोई अन्य विचार? – drago

+0

जी: HTML का उत्पादन समाप्त होता है, इसलिए यह शून्य के चारों ओर उद्धरणों में कोई फर्क नहीं पड़ता है, क्योंकि यह वैसे भी मूल्य = "शून्य" उत्पन्न करेगा ... – Deigote

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