2011-09-29 9 views
5

के रूप में एनम मानों को मुझे एनम क्लास मानों से ड्रॉपडाउन सूची पॉप्युलेट करने में कोई समस्या आ रही है। मेरे enum वर्ग कोड है:
ड्रॉपडाउन सूची

package abc.xyz.constants; 

public enum StateConstantsEnum 
{ 
      NEWYORK("NY"), 
      FLORIDA("FL"), 
      CALIFORNIA("CA"), 

    private String fullState; 

    private StateConstantsEnum(String s) 
    { 
     fullState = s; 
    } 

    public String getState() 
    { 
     return fullState; 
    } 
} 

मैं पॉप्युलेट न्यूयॉर्क, फ्लोरिडा और कैलिफोर्निया के साथ ड्रॉपडाउन सूची चाहते हैं। मैं बनाने रहा हूँ और वसंत मॉडल के लिए इस तरह से सूची जोड़ने:

List<StateConstantsEnum> stateList = new ArrayList<StateConstantsEnum>(Arrays.asList(StateConstantsEnum.values())); 

model.addAttribute("stateList", stateList); 

तो मैं का उपयोग कर JSP में लटकती पॉप्युलेट करने के लिए कोशिश कर रहा हूँ:

<select name="${status.expression}" name="stateLst" id="stateLst"> 
    <option value=""></option> 
     <c:forEach items="${stateList}" var="option"> 
       <option value="${option}"> 
        <c:out value="${option.fullState}"></c:out> 
       </option> 
     </c:forEach> 
</select> 

लेकिन मैं एक अपवाद "अपवाद हो रही है बनाया गया: javax.el.PropertyNotFoundException: कक्षा 'abc.xyz.constants.StateConstantsEnum' में संपत्ति 'fullState' नहीं है। "

मैं इस समस्या को कैसे ठीक करूं?

उत्तर

7

fullState निजी है, getState() एक्सेसर है, बहुत सराहना की मदद करें।

<c:out value="${option.state}"></c:out> 

या getFullstate() पर अपने गेटर का नाम बदलें।

+0

मुझे लगता है कि < 'सही होगा। – kingori

+0

ओह .. मैं एक छोटे टुकड़े पर चूक गया। धन्यवाद। एक और समस्या, यह NY, FL, CA, न्यू यॉर्क, फ्लोरिडा और कैलिफोर्निया नहीं प्रिंट कर रहा है। कोई उपाय? – BambooBlunder

+2

बस '$ {विकल्प} 'का उपयोग करें। दरअसल, "फुलस्टेट" नाम भ्रामक है। यह दूसरा रास्ता है। इसमें एक राज्य संक्षेप है। – BalusC

0
अपने JSP में

आपको लगता है कि जैसे एक का उपयोग कर सकते हैं:

<form:select path="*"> 
    <form:options items="${stateList}" itemLabel="fullState" /> 
</form:select> 

यह आपके liste (stateList) के सभी तत्व निकाल देंगे और यदि आप न एक itemLabel और itemValue निर्दिष्ट करते हैं, तो यह आपके enums ले लेंगे महत्व देता बेशक आपको अपने गेटटर को फुलस्टेट प्राप्त करने के लिए सेट करना होगा, और अपने पृष्ठ