كيف يمكنني استخدام قائمة الكائن مع علامة "خيار" خطوط؟

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

  •  22-09-2019
  •  | 
  •  

سؤال

لدي قائمة بالكائنات ، التي تنتجها JPA q.getResultList().

أرغب في استخدامه في قائمة "خيار" خيار "خيار" غير قادر على قبول ، فقط Collection, Enum and Map.

أنا جديد على جافا ، ولهذا السبب ربما List يمكن أن تترجم إلى كل منهم ولكني لا أعرف كيف يمكنني حل هذه المشكلة.

(الخطوط المحددة ، خريطة الخيار ،-التفويض ، يمكن أن تبني التجميع منسقًا من هياكل كائن الإدخال السابقة المذكورة)

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

المحلول

وثائق خيارات التجميع تقول العلامة:

يكتب مجموعة من <option value="foo">bar</option> علامات على الصفحة بناءً على محتويات أ Collection, Iterable أو Array. يتم تمثيل كل عنصر في المجموعة بعلامة خيار واحد على الصفحة. يستخدم سمات التسمية والقيمة على العلامة لتسمية خصائص الكائنات في Collection يجب استخدام ذلك لإنشاء جسم علامة خيار HTML وسمة القيمة لعلامة خيار HTML على التوالي. إذا تم حذف (أو كليهما) من خصائص التسمية أو القيمة ، فسيتم استخدام العنصر نفسه للتسمية/القيمة بدلاً من ذلك - يتم ذلك لدعم مجموعات الأنواع البسيطة مثل السلاسل والأرقام.

على سبيل المثال إعلان علامة يشبه:

<stripes:options-collection collection="${cats}" value="catId" label="name"/>

من شأنه أن يتسبب في البحث عن الحاوية Collection تسمى "القطط" عبر مختلف نطاقات JSP ووضعها على العلامة. ستنتقل العلامة بعد ذلك إلى التكرار من خلال تلك المجموعة getCatId() و getName() على كل قطة لإنتاج علامات خيار HTML.

أ java.util.List كونه Collection, ، فقط تمريره إلى collection سمة العلامة المذكورة.

نصائح أخرى

أ List الكائن هو Collection الكائن: و List الواجهة توسيع تلك Collection. يمكنك استخدام أ List كائن ، مثل ArrayList أو LinkedList في جميع الأماكن التي تحتاج فيها Collection.

ال Enum النوع هو نوع من القائمة الثابتة ، من خلال إعلان الفصل بأنه تعداد ، مثل ذلك:

public enum MyEnum {
    FirstOption, SecondOption, ThirdOption;
}

ال Map النوع هو مجموعة نقاطية. على سبيل المثال Hashtable, HashMap و TreeMap كلها حالات أ Map.

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