struts2中的标签。就是两个下拉列表项,左右内容可以互相移动。action中List list1=a.queryList();这个能取到值。页面<s:optiontransferselect leftTitle="请选择要绑定的采价点" rightTitle="已绑定的采价点" list="{'3',3','4','4'}" doubleList="#b.list1" doubleListKey="c" doubleListValue="d"  doubleName="cjdList"></s:optiontransferselect>
其中b是一个FORMBEAN,c,d,list1都有相应的get set方法。c,d是list1中的值。
现在的问题是页面得不到list1的值。谢谢各位大侠啊。

解决方案 »

  1.   

    把doubleList name 写成action传过来的 List 名试试看
      

  2.   

    b是action的属性?doubleList="b.list1"
      

  3.   

    就是b是一个普通的java类,有get,set方法
    相当于javabean。
      

  4.   


    我和你有一样的疑问,我在测试 OGNL 的时候,我也是定义了一个 List list1 = new ArraryList();
    在页面上使用 OGNL 的 <s:property value="list1" /> 让 OGNL 去 ValueStack 中寻找并调用 getList1() 方法,  但是其死活拿不到,并且使用 <s:debug/> 查看, ValueStack 中的 Action.list1 竟然显示没有 read Method... 我很无语,我改用一个 Map map1 = new HashMap() <s:property value="map1"/> 则可以成功; 对于 list1 这个变量,我改用了另外一种方式在页面上获取,就是指定 OGNL 表达式去调用 Action.getList1() 方法,即 <s:property value="getList1()"/> OK 问题解决;  所以我对于你的建议是:
       将 doubleList="#b.list1"  这句改成  doubleList="#b.getList1()"  当然,你得提供这个方法;
      

  5.   


    我很想看看你在页面使用 <s:debug /> 的信息 :)
      

  6.   

    呵呵。搞定了。
    在action方法里面:
    List<CaijiaPeople> cjdList=caijiaPeopleService.queryCjdList();
    Map request = (Map)ActionContext.getContext().get("request"); 
    request.put("cjdList", cjdList);然后页面这样写:
    doubleList="#request.cjdList" doubleListKey="cjdCode" doubleListValue="cjdName"
    结贴 散分