checkboxlist的值是字符串数组,但其上传到action的值是字符串,且两个项之间有多余的空格。
radio的值是字符串。
两个标签的list属性可以是list和map。
action.java如下:
// /test checkboxlist and radio
public List<String> getColors() {
List<String> colors = new ArrayList<String>();
colors.add("red");
colors.add("yellow");
colors.add("blue");
colors.add("green");
return colors;
}
public String[] getDefaultColor() {
return new String[] { "red", "green" };
}
private String yourColor;
public String getYourColor() {
return yourColor;
}
public void setYourColor(String yourColor) {
this.yourColor = yourColor.replace(" ", "");
}
private String yourColor1;
public String getYourColor1() {
return yourColor1;
}
public void setYourColor1(String yourColor1) {
this.yourColor1 = yourColor1;
}
private String colorValue;
public String getColorValue() {
return colorValue;
}
public void setColorValue(String colorValue) {
this.colorValue = colorValue;
}
private String identify;
public String getIdentify() {
return identify;
}
public void setIdentify(String identify) {
this.identify = identify;
}
jsp如下:
<s:form action="User_checkboxlist" namespace="/">
Favor colors : <s:property value="yourColor" />
<br>
Favor colors1 : <s:property value="yourColor1" />
<br>
Color value : <s:property value="colorValue" />
<br>
Identify value : <s:property value="identify" />
<h4>
<s:checkboxlist label="favor color" list="colors"
name="yourColor" value="defaultColor" />
<s:checkboxlist label="favor color1" list="#{'red':'红', 'yellow':'黄','blue':'蓝', 'green':'绿'}"
name="yourColor1" value="yourColor.split(',')" />
<s:radio label="color value" list="colors"
name="colorValue" value="'yellow'" />
<s:radio name="identify" value="'3'"
list="#{'1':'学生', '2':'在职','3':'自由职业', '4':'家庭主妇','5':'退休'}" />
</h4>
<s:submit value="submit" name="submit" />
</s:form>
运行结果如下: