struts2 select标签对Action中传递过来的List集合生成下拉列表

来源:互联网 发布:华为双卡默认移动数据 编辑:程序博客网 时间:2024/05/16 07:08
    说说最简单的<s:selelct />其他的以此类推:·select标签必须属性只有一个为List·select一定要有值,否则出错。如果我们在html中使用select时会有个默认的值,在Struts2中也是一样的,如果List,没有值可以加上headerKey,headerValue就可以通过。·List属性的值在Action中定义,必须为一个迭代的List/Map/Set,本例采用List· listKey对应html表单select中的value,listValue对应html表单中的option·List/Set的listKey和listValue是一样的·如果是Map,则map的key对应key,map的value对应value    如下代码:<body>       <s:form action="admin/admin_add_Course">     <s:textfield name="course.name" label="课程名"/>     <s:textfield name="course.score" label="课程学分"/>     <s:select list="myClassList" name="myClass.myClassId" label="班级"      listKey="myClassId" listValue="myClassId"      headerKey="0" headerValue="---请选择班级---"/>         <s:select list="{'是','否'}" name="course.firstTerm" label="是否上学期"           headerKey="0" headerValue="---请选择学期---"/>     <s:textfield name="course.year" label="年度"/>     <s:submit value="添加"/>    </s:form>  </body>    myClassList为action中list的对象,也就是getter/setter方法的名字,Struts2支持POJO访问,listKey的值”myClassId”则为VO对象 (MyClass)的属性
(myClassId)(Struts2支持OGNL)我们还可以加上headerKey和headerValue用以显示首行的提示,大家可以加上试试,注意:headerKey的值不能为-1否则编译不能通过。