<s:select>默认选中项
<s:select list="" name="" value="" headerKey="" headerValue="" listKey="" listValue=""/>
?
(1)其中 list是必须具备的属性 list中可以存储map list set类型的数据
?
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:select list="{'aa','bb','cc'}" theme="simple" headerKey="00" headerValue="00"></s:select>?2.第二个例子:
<s:select list="#{1:'aa',2:'bb',3:'cc'}" label="abc" listKey="key" listValue="value" headerKey="0" headerValue="aabb">3.第三个例子:
<%java.util.HashMap map = new java.util.LinkedHashMap();map.put(1,"aaa");map.put(2,"bbb");map.put(3,"ccc");request.setAttribute("map",map);request.setAttribute("aa","2");%><s:select list="#request.map" label="abc" listKey="key" listValue="value" value="#request.aa" headerKey="0" headerValue="aabb"></s:select>?headerKey headerValue 为设置缺省值
4.第四个例子
public class Program implements Serializable { /** serialVersionUID */ private static final long serialVersionUID = 1L; private int programid; private String programName; public int getProgramid() { return programid; } public void setProgramid(int programid) { this.programid = programid; } public String getProgramName() { return programName; } public void setProgramName(String programName) { this.programName = programName; }}在 xxx extends extends ActionSupport { private List<Program> programs ; public List<Program> getPrograms() { return programs; } public void setPrograms(List<Program> programs) { this.programs = programs; }}?
在jsp页面 <s:select list="programs " listValue="programName " listKey="programid " name="program" id="program" headerKey="0l" headerValue=" " value="bean.programid " ></s:select>
?
?list的值为在action里面的list,listValue的值为<option value="xxx">value</option>对应bean里面的字段programName
listKey的值为<option value="xxx",对应bean里面的字段programid,value的值为设定select被选中的值,s:select 会自动在 bean选中 key对应的值
?
如果可以在jsp页面上写死的话,可以如下:<s:select list="#{1:'男',2:'女'}" listKey="key" listValue="value" value="2" />该代码运行结果:默认显示的是“女”。如果默认项是从后台传到前台的,可以如下:jsp:<s:select list="#{'1':'男','2':'女'}" name="sex"/>action:private String sex;sex属性有get/set方法。在业务方法中设置sex = "2";select会默认选中。?
?