论坛首页 Java版

Struts2中的doubleselect怎么用啊``

浏览 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对象的检索就可以``

可我试的还是不行呢```
   
最后更新时间: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;  
}
   
0 请登录后投票
论坛首页 Java版

跳转论坛:
JavaEye推荐