我想在JSF 2 中設置一個特定的元素,請告訴我該怎麼做。如何訪問JSF 2中的Set元素?
0
A
回答
8
此問題不是特定於JSF/EL。已經在普通Java中,不能訪問Set
中的特定元素。 Set
沒有像get(index)
那樣的List
。您需要將Set<T>
轉換爲T[]
陣列或List<T>
,以便您可以通過索引訪問它。
僅當SortedSet
或LinkedHashSet
的分辨率順序或插入順序分別插入元素時,它纔會以可預測的方式工作。當它是HashSet
時,這不會有任何意義,因爲您無法事先可靠地預測元素將在哪個索引處結束。
如果您使用EL 2.2(您的問題歷史記錄證實了這一點),那麼您可以使用Set#toArray()
將其轉換爲數組,然後使用大括號[]
按索引訪問該元素。以下示例打印#{bean.someSet}
的數組表示形式的第二項。
#{bean.someSet.toArray()[1]}
再次,這是沒有意義的,如果它是一個無序的像HashSet
。
0
你的問題還不太清楚,但是JSF2並不真正支持Set。
組件,如ui:repeat
或h:datatable
總是需要排序來顯示數據,所以你最好的選擇將是轉換你Set
到List
第一。
相關問題
- 1. 如何訪問JSON的元素角2
- 2. 直接訪問STL「set」元素
- 3. 如何訪問元組中的元素?
- 4. 如何訪問Actionscript 2中的子元素?
- 5. JSF 2訪問Facelet文件
- 6. 如何訪問gridview的選中/選中行元素的元素
- 7. 如何訪問threeJS中的scene.children元素?
- 8. 如何訪問對象中的元素?
- 9. 如何訪問matlab中的struct元素
- 10. 如何訪問數組中的元素?
- 11. 如何訪問數組中的元素
- 12. 如何訪問QTP中的SysListView32元素?
- 13. 如何訪問指令中的元素?
- 14. 如何訪問列表中的元素?
- 15. 如何訪問此XML中的元素
- 16. 如何訪問ItemsControl中的UI元素?
- 17. 如何訪問FancyBox iframe中的元素
- 18. 如何訪問DOM中的元素?
- 19. 如何訪問windows中的元素showModalDialog
- 20. 如何訪問CMap中的元素?
- 21. 如何訪問jquery中的子元素?
- 22. WPF:如何訪問ListView.ItemTemplate中的元素?
- 23. 如何訪問`NSArray`元素
- 24. 如何訪問此元素
- 25. 如何訪問iframe元素
- 26. 如何訪問iframe元素?
- 27. 如何訪問jaxb:class元素
- 28. JSF訪問bean類中的html元素值
- 29. 從屬性文件中的數組jsf訪問元素
- 30. 如何使Set中的元素永遠是第一個元素
你能提供一個你想要做什麼的例子嗎? – SJuan76 2012-08-08 09:29:30
@ SJuan76,我希望能夠在下面的帖子中做一些設置http://stackoverflow.com/questions/8637285/how-to-get-specific-element-in-a-list-in- jsf-2 – 2012-08-08 09:41:27
在這種情況下,你應該創建這樣的'公共List getSetAsList(){返回新的ArrayList(mySetVariable);}' – Daniel 2012-08-08 10:25:29