علامات الربيع نموذج MVC: هل هناك طريقة لإضافة و"لا اختيار" البند؟

StackOverflow https://stackoverflow.com/questions/162497

  •  03-07-2019
  •  | 
  •  

سؤال

وهناك اختر القائمة المنسدلة وأريد أن أضيف "لا اختيار" البند إلى قائمة اللي تبونه يجب أن تعطي لي 'فارغ' عندما قدم. أنا باستخدام SimpleFormController تحكم مشتقة.

protected Map referenceData(HttpServletRequest httpServletRequest, Object o, Errors errors) throws Exception {
    Map<String, Object> map = new HashMap<String, Object>();

    map.put("countryList", Arrays.asList(Country.values()));

    return map;
}

والجزء jspx هو

<form:select path="country" items="${countryList}" title="country"/>

وأحد الحلول الممكنة ويبدو أن في إضافة قيمة فارغة إلى بداية القائمة ثم استخدام PropertyEditor مخصص لdisply هذا 'فارغ' باسم 'لا اختيار. هل هناك حل أفضل؟

وEdit: لقد حل هذا مع الشرح التحقق من صحة مخصصة الذي يتحقق إذا كانت القيمة المحددة هي "لا اختيار". هل هناك حل أكثر القياسية وأسهل؟

هل كانت مفيدة؟

المحلول

وخيار واحد:

<form:select path="country" title="country" >
     <form:option value="">&nbsp;</form:option>
     <form:options items="${countryList}" />
</form:select>

نصائح أخرى

وأنا لا أعتقد أنك يجب أن تحتاج إلى محرر الملكية لهذا الغرض. إذا كان الخيار "فارغة" الأول في القائمة، والعلامة التي إخراج القائمة لا يعلم أي منهم كما المحدد، ثم يجب متصفح حدد الأول، واحدة "على بياض" تلقائيا.

عند إرسال النموذج، ومحاولة العمل بحيث لا بد قيمة "فارغة" إلى الأمر باعتباره باطلا، والتي قد يحدث تلقائيا، وهذا يتوقف على نوع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top