浏览 763 次
|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2007-09-05 关键字: Struts2
这是action中的代码``
private List<SelectOption> a;
private Map<SelectOption, List> b;
public String execute() throws Exception {
a = new ArrayList<SelectOption>();
a.add(new SelectOption("a", "akey"));
a.add(new SelectOption("b", "bkey"));
a.add(new SelectOption("c", "ckey"));
List<String> a1 = new ArrayList<String>();
a1.add("aadf");
a1.add("adfasdfadf");
List<String> a2 = new ArrayList<String>();
a2.add("hello");
List<String> a3 = new ArrayList<String>();
a3.add("hehehehe");
a3.add("fdafd");
a3.add("fasdf");
b = new HashMap<SelectOption, List>();
b.put(a.get(0), a1);
b.put(a.get(1), a2);
b.put(a.get(2), a3);
return super.execute();
}
public List<SelectOption> getA() {
return a;
}
public void setA(List<SelectOption> a) {
this.a = a;
}
public Map<SelectOption, List> getB() {
return b;
}
public void setB(Map<SelectOption, List> b) {
this.b = b;
}
public SelectOption getSelectOptionByKey(Object top){
String t = (String)top;
for(int i=0;i<a.size();i++){
if(a.get(i).getKey().equals(t)){
return a.get(i);
}
}
System.out.println("return null" + t);
return null;
}
这是JSP`` <s:doubleselect name="a" list="a" doubleList="b.get(getSelectOptionByKey(top))" doubleName="haha" listKey="key" listValue="description" ></s:doubleselect> 如果List a中的对象是String直接用b.get(top)`就可以很好的实现`` 现在我是用一个SelectOption对象``有Key和description属性的BEAN`` 就怎么也实现不出来``生成的HTML里JS的二维数组是空的``` 也就是第二级Select里没有数据`也是空的`` 搜到一个方法``说是加一个`getSelectOptionByKey方法`做从KEY到SelectOption对象的检索就可以`` 可我试的还是不行呢``` 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2008-01-17
楼主,你这样改一下就OK了!top不能转成String,它是SelectOption!
public SelectOption getSelectOptionByKey(Object top) { SelectOption t = (SelectOption)top; for(int i=0;i<a.size();i++) { if(a.get(i).getKey().equals(t.getKey())) { return a.get(i); } } System.out.println("return null" + t); return null; } |
|
| 返回顶楼 | |



