select标签 是用来做下拉列表的.
最基本的select:
<
s:select
label
="FooBar"
name
="foo"
list
="{'trillian','zaphod'}"
/>
定义了一个select, 并且命名了label name,其下拉列表的内容是list里的值,这里有两个trillian, zaphod.注意对于一个select来说list的值是必须的.
进阶版的select:
1. 首先在相应的ACTION里添加一个方法
public
List getFromArray()
...
{
List fromArray = new ArrayList();
HashMap bj = new HashMap();
bj.put("id",new Integer(1));
bj.put("name","北京");
HashMap sh = new HashMap();
sh.put("id",new Integer(2));
sh.put("name","上海");
HashMap tj = new HashMap();
tj.put("id",new Integer(3));
tj.put("name","天津");
fromArray.add(bj);
fromArray.add(sh);
fromArray.add(tj);
return fromArray;
}
List fromArray = new ArrayList();
HashMap bj = new HashMap();
bj.put("id",new Integer(1));
bj.put("name","北京");
HashMap sh = new HashMap();
sh.put("id",new Integer(2));
sh.put("name","上海");
HashMap tj = new HashMap();
tj.put("id",new Integer(3));
tj.put("name","天津");
fromArray.add(bj);
fromArray.add(sh);
fromArray.add(tj);
return fromArray;
}
2. 然后在页面里添加:
<
s:select
label
="%{getText('user.from')}"
headerKey ="" headerValue ="Select Area"
list ="fromArray" listKey ="id" listValue ="name" />
headerKey ="" headerValue ="Select Area"
list ="fromArray" listKey ="id" listValue ="name" />
在这个select里,list的值是来自于Action中的属性,由Struts自动去找到getFromArray()方法, 再把值写到下拉列表中
3. 注意,此时要查看效果,只能在浏览器中,通过ActionName.action的方式去访问,不然就会报错.