checkboxllist標(biāo)簽可以一次創(chuàng)建多個(gè)復(fù)選框,相當(dāng)于多個(gè)<input type="checkbox"標(biāo)簽> ,它根據(jù)list屬性指定的集合來生成多個(gè)復(fù)選框。
一個(gè)簡(jiǎn)單的index.jsp:
<s:form action="first">
<s:checkboxlist name="sds" list="{'一輝','撒卡','童虎','加隆'}" label="請(qǐng)選擇你所喜歡的圣斗士">
</s:checkboxlist>
<s:submit value="submit"></s:submit>
</s:form>
action中:
public String[] getSds() {
return sds;
}
public void setSds(String[] sds) {
this.sds = sds;
}
@Override
public String execute() throws Exception {
for(int i=0; i<sds.length;i++){
System.out.println(sds[i]);
}
return SUCCESS;
}
運(yùn)行結(jié)果:依次打印出你所選擇的checkbox所對(duì)應(yīng)的值
通過Map對(duì)象輸出復(fù)選框的值,譬如:
<s:form action="ryansds" >
<s:checkboxlist name="b" list="#{'鳳凰座':'一輝','雙子座':'撒卡','白羊座':'史昂','天枰座':'童虎'}"
label="請(qǐng)選擇你最喜歡的圣斗士" labelposition="top"
listKey="value"
listValue="key" >
</s:checkboxlist>
<s:submit value="submit"></s:submit>
</s:form>
在ryansds對(duì)應(yīng)的action中,做一個(gè)輸出,看看傳過來的值:
public class RyanSDS extends ActionSupport{
private String[] b;
public String[] getB() {
return b;
}
public void setB(String[] b) {
this.b = b;
}
@Override
public String execute() throws Exception {
for(int i=0;i<b.length;i++){
System.out.println(b[i]);
}
return SUCCESS;
}
}
注意:checkboxllist標(biāo)簽有兩個(gè)屬性,listKey和listValue,他們代表了list中元素的某個(gè)屬性,默認(rèn)情況下 lisKey="key"(這里的key代表map中的key值,也是會(huì)傳給strut2的值),listValue="value"(這里的value代表map中的value值,他會(huì)在頁面中顯示出來,提交表單時(shí),并不能被struts取得)。 如果你想將map中的key值顯示在頁面,可以設(shè)置listKey="value."
使用集合里存放的多個(gè)javabean來生成多個(gè)復(fù)選框:
package com.yan.test;
public class User {
private String username;
private String password;
public User(String username,String password) {
this.username = username;
this.password = password;
}
。。。。省略POJO
}
調(diào)用getRyan方法返回一個(gè)包含多個(gè)User實(shí)例的數(shù)組。
public class UserService {
public User[] getRyan(){
return new User[]{
new User("ryan","ryanchen"),
new User("zhengyao","YOYO"),
new User("boys","girls")
};
}
}
在jsp頁面中使用:
<s:bean name="com.yan.test.UserService" id="sds"/>
<s:checkboxlist name="sdfsd" list="#sds.ryan"
listKey="username"
listValue="password">
</s:checkboxlist>
瀏覽該頁面:

--
學(xué)海無涯