<tr>
     <s:optiontransferselect  label="角色选择"  name="permLeft" doubleList="{}" 
        list="#request.listMap" listKey="permissionGroupId" listValue="permissionGroupName"        
       doubleName="permRight" leftTitle="系统存在的角色"
       rightTitle="用户已拥有的权限" multiple="true" doubleEmptyOption="true" doubleMultiple="true"  
      allowAddToLeft="true" allowAddToRight="true" allowAddAllToLeft="true" allowAddAllToRight="true"    
      allowSelectAll="false" >
  </s:optiontransferselect>
       </tr>在做给用户授权操作,我已经从后台把角色查了出来,显示在左边的框中,现在把左边框的值移动到右边框,我应该如何取右边框中的值了。
     待高手 解决。。
  在线等。。
  

解决方案 »

  1.   


        网上给的解决方案是:  后台action里面添加属性(setXXX和getXXX方法):   
    private String[] leftList;   
    private String[] rightList;   
      
    在前台页面上,当提交表单时,onclick事件调用下面的js:   
    <script type="text/javascript">  
      function myself(){   
      var right=document.forms[0].rightList;   
      for(i=1; i <right.length; i++)   
        right[i].selected = true;   
      }   
    </script>  
    提交后,就能在后台得到rightList里面的值了。   
    如果没有这段Js代码,后台是得不到值的,这是Struts2 <s:optiontransferselect/>本身的bug.     这其中的action 是怎么写的。这值是怎么传到action 中的了。。
    我写的action是:
     document.from1.action="permmanager/permOper!findExistPermGroup?perRight="+permRight;
     document.from1.submit();  请讲解
         谢谢了。。  
      

  2.   

    这个问题我遇到过,上面的解决方法跟我的一样,这里有我的jsp页面和java代码
    http://blog.csdn.net/gavin812428144/archive/2010/02/23/5320628.aspx