struts2的select标签用法实例分析
本文实例讲述了struts2的select标签用法。分享给大家供大家参考。具体如下:
项目中遇到个小问题,总结下。
关于struts2select标签的使用。
struts2中从别的表中遍历数据填充进入下拉菜单用<s:select>标签显示.
struts2的版本为2.1.8
<s:select
list=""
name=""
value=""
headerKey=""
headerValue=""
listKey=""
listValue=""
/>
(1)其中list是必须具备的属性list中可以存储maplistset类型的数据
list属性:通常是在action中定义的,必须是一个可以迭代的源,如为一个List,Map,Set等。如果是一个Map,那么map的key就对应于select标签中的value,map中的value就对应于select标签中的option。而如果是一个List或者是一个Set,那么可以通过listKey和listValue指定。
(2)如果list为空headKey和headValue不能为空.listKey和listValue:listKey即对应于select标签中的value,listValue即对应于select标签中的option
(3)name属性:即是表单中select的名称。
下面具体解释下各个属性的含义。
headerValue:默认值value
headerKey: 默认name
list:源数据(可以在action方法里从数据库获取list)
name:被选数据存放的位置(这里我方在对象obj的属性值userName中<需在action中定义该对象>)
listKey:下拉选项的name
listValue:下拉选项的value
value:默认值
1.第一个例子:
<s:selectlist="{'aa','bb','cc'}"theme="simple"headerKey="00"headerValue="00"></s:select>
2.第二个例子:
<s:selectlist="#{1:'aa',2:'bb',3:'cc'}" label="abc"listKey="key"listValue="value" headerKey="0"headerValue="aabb">
3.第三个例子:
<% java.util.HashMapmap=newjava.util.LinkedHashMap(); map.put(1,"aaa"); map.put(2,"bbb"); map.put(3,"ccc"); request.setAttribute("map",map); request.setAttribute("aa","2"); %> <s:selectlist="#request.map"label="abc"listKey="key"listValue="value" value="#request.aa"headerKey="0"headerValue="aabb"></ s:select >
headerKeyheaderValue为设置缺省值
4.第四个例子
publicclassProgramimplementsSerializable{ /**serialVersionUID*/ privatestaticfinallongserialVersionUID=1L; privateintprogramid; privateStringprogramName; publicintgetProgramid(){ returnprogramid; } publicvoidsetProgramid(intprogramid){ this.programid=programid; } publicStringgetProgramName(){ returnprogramName; } publicvoidsetProgramName(StringprogramName){ this.programName=programName; } } xxxextendsextendsActionSupport{ privateList<Program>programs; publicList<Program>getPrograms(){ returnprograms; } publicvoidsetPrograms(List<Program>programs){ this.programs=programs; } }
在jsp页面
<s:selectlist="programs"listValue="programName"listKey="programid"name="program"id="program" headerKey="0l"headerValue=""value="bean.programid"></s:select>
其中:list="programs"为在action里面的list,listValue="programName"为<optionvalue="xxx">value</option>对应bean里面的字段programName
listKey="programid"为<optionvalue="xxx",对应bean里面的字段programid,value="bean.programid"为设定select被选中的值,s:select会自动在bean选中key对应的值
希望本文所述对大家的Struts程序设计有所帮助。