4

我有一个由 JPA 生成的对象列表q.getResultList()

我想在下拉列表中使用它,但 Stripes 的“选项”标签不能接受 List,只是Collection, Enum and Map

我是 Java 新手,那为什么也许List可以翻译成他们每个人,但我不知道如何解决这个问题。

(Stripe select,option-map,-enumeration,-collection 可以从前面提到的输入对象结构中建立一个下拉列表)

4

2 回答 2

4

options-collection标签的文档说:

根据 a或的内容将一组<option value="foo">bar</option>标签写入页面 。集合中的每个元素都由页面上的单个选项标签表示。使用标签上的 label 和 value 属性来命名 应该用来分别生成 HTML option 标签的 body 和 HTML option 标签的 value 属性的对象的属性。如果标签或值属性中的一个(或两者)被省略,则项目本身将用于标签/值 - 这样做是为了支持简单类型的集合,如字符串和数字。CollectionIterableArrayCollection

例如,一个看起来像这样的标签声明:

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

将导致容器Collection在各种 JSP 范围内查找一个名为“cats”并将其设置在标签上。然后该标签将继续遍历该集合调用getCatId()getName()在每只猫上生成 HTML 选项标签。

Ajava.util.List是 a Collection,只需将其传递给collection提到的标签的属性。

于 2010-03-27T22:31:50.830 回答
1

List对象就是Collection对象:List接口扩展了Collection. 您可以使用List对象,例如ArrayListLinkedList在所有需要Collection.

Enum类型是一种静态列表,通过将类声明为枚举,如下所示:

public enum MyEnum {
    FirstOption, SecondOption, ThirdOption;
}

Map类型是关联集;例如Hashtable,HashMapTreeMap都是 a 的实例Map

于 2010-03-27T22:24:05.957 回答