[英]How can I use List of object with Stripes “option” tag?
我有一个对象列表,由JPA q.getResultList()
。
我想在下拉列表中使用它,但Stripes“option”标签不能接受List,只有Collection
, Enum
and
Map
。
我是Java新手,为什么List
可以翻译成每个人,但我不知道如何解决这个问题。
(Stripes select,option-map,-enumeration,-collection可以构建从前面提到的输入对象结构的下拉列表)
options-collection标签的文档说:
根据
Collection
,Iterable
或Array
的内容向页面写入一组<option value="foo">bar</option>
标记。 集合中的每个元素都由页面上的单个选项标记表示。 使用标记上的label和value属性来命名Collection
中对象的属性,这些属性应分别用于生成HTML选项标记的主体和HTML选项标记的value属性。 如果省略了label或value属性中的任何一个(或两个),则项目本身将用于标签/值 - 这样做是为了支持简单类型(如字符串和数字)的集合。例如,标签声明如下所示:
<stripes:options-collection collection="${cats}" value="catId" label="name"/>
会导致容器在各种JSP作用域中查找名为“cats”的
Collection
,并将其设置在标记上。 然后,标记将继续遍历该集合,在每个cat上调用getCatId()
和getName()
以生成HTML选项标记。
作为Collection
的java.util.List
,只需将其传递给上述标记的collection
属性即可。
List
对象是Collection
对象: List
接口扩展Collection
。 您可以在需要Collection
所有位置使用List
对象,例如ArrayList
或LinkedList
。
Enum
类型是一种静态列表,通过将类声明为枚举,如下所示:
public enum MyEnum {
FirstOption, SecondOption, ThirdOption;
}
Map
类型是一个关联集; 例如, Hashtable
, HashMap
和TreeMap
都是Map
实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.