ognl 怎么访问 set 集合中指定位置的元素
发布网友
发布时间:2022-04-21 21:54
我来回答
共1个回答
热心网友
时间:2023-07-08 16:34
毕设的时候,有一个特殊需求,就是 访问ognl中 set 集合中 第一个元素。但是由于 set集合 是无序的。因此
-------------------------------action------------------------
Set<Person set=new HashSet<person();
set.add(new Person(张三1,24));
set.add(new Person(张三2,22));
set.add(new Person(张三3,21));
set.add(new Person(张三4,20));
---------------------------------jsp--------------------------
<s:property value=set[0].name / -----------------------------------这样 是不能显示任何信息的。
因为 set是 无序。不能像 list那样 list[1] map[key] 那样 直接访问
-----------------------------------------------解决方法----------------------------------------------------
写一个 静态方法。然后让ognl调用显示
-------------------------------静态方法--------------------
package com.shuangXing.tools;
import java.util.Iterator;
import java.util.Set;
public class ShuangXingTools {
//获取 set中的第一个元素
public static <T Object getSet(Set<T set){
Iterator it= set.iterator() ;
return it.next();}}-------------------------------jsp--------------------
<s:property value=@com.shuangXing.tools.ShuangXingTools@getSet(set).name/
------------------------------输出结果-------------------
----------------------------------