2011-09-29 22 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 ले लेंगे महत्व देता बेशक आपको अपने गेटटर को फुलस्टेट प्राप्त करने के लिए सेट करना होगा, और अपने पृष्ठ

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