毕设的时候,有一个特殊需求,就是 访问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"/>
------------------------------输出结果---------------------------------------------------------------------------------------
张三1