.
.
.
.
.
在 Struts2 的 Action 中怎样获取表单提交上来的多个 checkbox 的值呢?
其实在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
1 前台 HTML 代码:
2 <input type="checkbox" name="chkName" value="abc">
3 <input type="checkbox" name="chkName" value="def">
4 <input type="checkbox" name="chkName" value="ghi">
1 Action 中的代码:
2 private String chkName;
3 //getter()、setter() 方法省略
4 public String execute() throws Exception{
5 String[] chkValues = this.getChkName().split(", ");
6 }
最后,chValues 数组就是被选中的 checkbox 中的 value。
有一点需要注意:chkName 中的每一个值都是这种形式:[value1, value2, value3, ...] 注意,每个逗号后面都有一个空格,所以是这样的: split(",空格") 别落下逗号后面的空格。