select定义如下
<s:select name="xy"  
          list="#GetXs.list"   listKey="id" listValue="xs"  required="true"></s:select>
我需要在action 中获取选择项id的值,如何获取。

解决方案 »

  1.   

    直接获取还真获取不了,这算是struts2标签的局限性吧。
    你可以手动写个<input type="hidden" name="selectedKey"/>获取
    跟该select绑定onchange事件,$(document).ready(function(){
      $("input['name=xy']").bind("change",function(){
          var selectedIndex = $("input['name=xy']").attr("selectedIndex");  
          var selectedText = $("input['name=xy'] option").eq(selectedIndex).attr("text");  
          var selectedValue = $(""input['name=xy'] option").eq(selectedIndex).attr("value");      //然后将selectedText传给 隐藏域      
      });
    });
      

  2.   

    谢谢你哈。但我找到了方法
    在action中创建private String xy; 
    并提供get 、set方法,xy就是key值
      

  3.   

    <s:action namespace="/itemType" name="findByUserId" id="bean"></s:action>
     <s:select list="#bean.listItemType" name="item.itemType.id"
                listKey="id" listValue="name" theme="simple"></s:select>
    楼主,你这样就可以了。这个就相当于执行了 itemType/findByUserId.action 我这个action里面有个listItemType 是一个list集合,使用<s:select>这个标签就可以显示了。 这个select就是你选择的值。
      

  4.   

    在action里定义一个map集合,key是id,程序运行到之后会把id传到页面