我有一个由 JPA 生成的对象列表q.getResultList()
。
我想在下拉列表中使用它,但 Stripes 的“选项”标签不能接受 List,只是Collection
, Enum
and
Map
。
我是 Java 新手,那为什么也许List
可以翻译成他们每个人,但我不知道如何解决这个问题。
(Stripe select,option-map,-enumeration,-collection 可以从前面提到的输入对象结构中建立一个下拉列表)
options-collection标签的文档说:
根据 a或的内容将一组
<option value="foo">bar</option>
标签写入页面 。集合中的每个元素都由页面上的单个选项标签表示。使用标签上的 label 和 value 属性来命名 应该用来分别生成 HTML option 标签的 body 和 HTML option 标签的 value 属性的对象的属性。如果标签或值属性中的一个(或两者)被省略,则项目本身将用于标签/值 - 这样做是为了支持简单类型的集合,如字符串和数字。Collection
Iterable
Array
Collection
例如,一个看起来像这样的标签声明:
<stripes:options-collection collection="${cats}" value="catId" label="name"/>
将导致容器
Collection
在各种 JSP 范围内查找一个名为“cats”并将其设置在标签上。然后该标签将继续遍历该集合调用getCatId()
并getName()
在每只猫上生成 HTML 选项标签。
Ajava.util.List
是 a Collection
,只需将其传递给collection
提到的标签的属性。
List
对象就是Collection
对象:List
接口扩展了Collection
. 您可以使用List
对象,例如ArrayList
或LinkedList
在所有需要Collection
.
该Enum
类型是一种静态列表,通过将类声明为枚举,如下所示:
public enum MyEnum {
FirstOption, SecondOption, ThirdOption;
}
Map
类型是关联集;例如Hashtable
,HashMap
和TreeMap
都是 a 的实例Map
。