كيف يمكنني استخدام قائمة الكائن مع علامة "خيار" خطوط؟
سؤال
لدي قائمة بالكائنات ، التي تنتجها 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
.