在action定义了:一个字段
private List<String> types ;//提供了set和get方法
一个方法
public String load() throws Exception{
types=new ArrayList<String>() ;
types.add("学历") ;
types.add("工作") ;
return ActionSupport.SUCCESS ;
}
struts.xml
<action name="basicmessageload" class="basicMessageAction" method="load">
            <result>/basicmessage.jsp</result>
</action>
在basicmessage.jsp中:
<s:select list='<s:property value="types"/>' listKey="key"
listValue="value"
name="bm.type"
headerKey="-1" headerValue="请选择"></s:select>调用过程:
点击一个按钮(load.action),就会进行action中的load方法,成功后跳到jsp中,可总会报错,
tag 'select', field 'list', name 'bm.type': The requested list key '<s:property value="types"/>'
could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location]
出现这个错,一定是<s:select>没有使用正确,list的参数不对,可后台传回来的是ArrayList 没有错啊,对比了网上的一些例子
没有使用错啊,实在找不到原因了,望高手指点,最好给个例子,这个list是后台回来的,这样"{'二级','三级'}"使用,没有问题
小弟知道,奇怪的是list='<s:property value="types"/>'要使用单引号,不然就会报:equal symbol expected

解决方案 »

  1.   

    <s:select list="jsbmResult" key="user.jsbm" theme="simple" cssStyle="width:155px;" />
    后天action中要获得getter,setter方法。action中
    private Map<String, String> types =new TreeMap();types .put("0", "工作");
    types .put("1", "学历");
      

  2.   

    后台:少getTypes();
    前台:<s:select list=' <s:property value="types"/>'>换成
    <s:select list="%{types}">
      

  3.   


    同意 sturts2标签好像不能套一起使用
      

  4.   

    <s:select list="types" listKey="key" listValue="value" name="bm.type" headerKey="-1" headerValue="请选择"> </s:select> 这样试试看
      

  5.   

    <s:select list="claList" name="student.classes.classId" listKey="classId" listValue="className" label="CLASS"></s:select>
      

  6.   

    直接<s:select list="types"/>这样就可以了
      

  7.   

    <s:select list="#request.types"/>
      

  8.   

    list的值应该是一组键值对的集合,你的那个name后面的tm.type的tm应该在Action中是个对象,tm对象的type属性该是一个数组类型,数组里装的是list中的key(也就是list代表的集合里的key)
      

  9.   

    http://blog.csdn.net/dukejeremy/article/details/6758500去看看 ,这里就是我写的一点关于selectlist的使用的,希望能帮到你