如何使用 Struts 嵌套标记库从 HashSet 字段属性中获取项目?
Posted
技术标签:
【中文标题】如何使用 Struts 嵌套标记库从 HashSet 字段属性中获取项目?【英文标题】:How to fetch item from HashSet field property using Struts nested taglibs? 【发布时间】:2018-08-15 15:20:47 【问题描述】:我正在尝试使用 Struts 嵌套标记遍历 ArrayList
和 Set
集合对象。我附上了我的代码的 sn-p。
<snested:iterate property="productsList" id="aProduct">
<snested:iterate property="participantList" id="participant_item">
......
<snested:text property="firstName" styleClass="text"/>
</snested:iterate>
</snested:iterate>
这里participantList
是Set
,productsList
是List
。
在上面的代码中,我收到以下错误:
Invalid argument looking up property: "productsList[0].participantList[0].firstName" of bean: "orderedProducts"
at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:887
at org.apache.struts.taglib.html.BaseFieldTag.prepareValue(BaseFieldTag.java:126)
但如果我使用 List
而不是 Set
集合,它工作正常。
【问题讨论】:
对象类型是什么? ArrayListHashSet
类不是索引集合。您不能将此类与 Struts 嵌套标记一起使用。
如果要求使用Set
而不是List
是强制性的,那么您应该更改使用此标签的标签或标签库或使用另一个标签库,即JSTL等。
【讨论】:
有没有办法使用struts嵌套的taglib迭代LinkedHashSet? 否,但您可以尝试this 解决方案。以上是关于如何使用 Struts 嵌套标记库从 HashSet 字段属性中获取项目?的主要内容,如果未能解决你的问题,请参考以下文章