2012-12-13 14 views
8

मुझे वर्तमान समस्या में निहित डिफ़ॉल्ट मान के साथ एक समस्या है जबकि मुझे कोई समस्या है।सबमिट करने के बाद अभी भी चयन में डिफ़ॉल्ट मान

मूल्य सही ढंग से क्षेत्र में सेट किया गया है, लेकिन जब मैं फ़ॉर्म सबमिट करेंगे, डिफ़ॉल्ट मान अभी भी वहाँ है, भले ही उपयोगकर्ता सूची में एक और मूल्य चुना है ...

यहाँ मेरी नियंत्रक है:

@RequestMapping(method = RequestMethod.GET) 
public String createForm(final ModelMap modelMap){ 

    User user; 

    user = new User(); 

    user.setGroup("HelpDesk"); 
    user.setName("John"); 


    ArrayList<String> groupList = new ArrayList<>(); 

    groupList.add("Admin"); 
    groupList.add("HelpDesk"); 
    groupList.add("GroupManager"); 
    groupList.add("Others"); 


    modelMap.addAttribute("user", user); 
    modelMap.addAttribute("groupList", groupList); 

    return "/user/user-add"; 
} 

@RequestMapping(method = RequestMethod.POST) 
public String createUser(@ModelAttribute("user") final User user, BindingResult result) { 

    userValidator.validate(user, result, groupList); 

    logger.info(user.getGroup()); //Will print "HelpDesk,Admin" for instance 

    return "..."; 

} 

और यहाँ मेरी JSP है:

<table> 
    <form:form method="POST" modelAttribute="user"> 

     <tr> 
       <td>Name:</td> 
       <td><form:input path="name"/></td> 
       <td><form:errors path="name" cssClass="error" /></td> 
      </tr> 


      <tr> 
       <td>Group:</td> 
       <td><form:select path="group" items="${groupList}" multiple="single"/></td> 
       <td><form:errors path="group" cssClass="error" /></td> 
      </tr> 


      <tr> 
       <td colspan="3"><input type="submit" /></td> 
      </tr> 

     </form:form> 
    </table> 

उदाहरण के लिए, अगर मैं "व्यवस्थापक" चुनें चयन सूची में, मैं "हेल्पडेस्क, व्यवस्थापक" की संपत्ति "समूह" में मिल जाएगा मेरी जमा करने के बाद उपयोगकर्ता फॉर्म ...

मैं क्या गलत कर रहा हूं?

आपकी मदद के लिए धन्यवाद!

+0

क्या आपने सूची की शुरुआत में एक खाली क्षेत्र जोड़ा है? या यह आपके लिए बदसूरत कामकाज होगा? :) – GGrec

+0

Firebug या Chrome डेवलपर टूल का उपयोग करके आप मूल्य है कि ब्राउज़र से तैनात किया जा रहा है मिल सकती है? –

+0

@GGeorge यह है कि बदसूरत नहीं है, लेकिन मैं समझने के लिए क्यों यह वर्तमान में क्रोम डेवलपर उपकरण के अनुसार – user1901206

उत्तर

0

क्या मैं आपकी "पोस्ट" विधि या "ऑनबमिट" विधि देख सकता हूं? आपकी पोस्ट विधि में आपको उपयोगकर्ता ऑब्जेक्ट को अपने मॉडल विशेषता या कमांड के रूप में निर्दिष्ट करना होगा।

+0

मूल प्रश्न में संपादित द्वारा चयनित एक है। – user1901206

+0

लेकिन उपयोगकर्ता ऑब्जेक्ट को 'अंतिम' क्यों घोषित किया गया है? – SerotoninChase

+0

अपनी पोस्ट विधि में उपयोगकर्ता के लिए अंतिम क्वालीफायर को हटाने का प्रयास करें। – SerotoninChase