在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
<input type="checkbox" name="chkName" value="abc"> <input type="checkbox" name="chkName" value="def"> <input type="checkbox" name="chkName" value="ghi">
Action 中的代码:
private String chkName; //getter()、setter() 方法一定要有 public String getChkName(){ return chkName; } public void setChkName(String chkName){ this.chkName=chkName; } public String execute() throws Exception{ String[] chkValues = this.getChkName().split(", "); }
最后,chValues 数组就是被选中的 checkbox 中的 value。
有一点需要注意:chkName 中的每一个值都是这种形式:[value1, value2, value3, ...] 注意,每个逗号后面都有一个空格,所以是这样的: split(",空格")
别落下逗号后面的空格。
第二种方法:获取结果为String[]数组类型
在 Action 中获得的是一个 String[]数组型数据,每一个被选中的 checkbox 的 value是数组的一个值。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
<input type="checkbox" name="chkName" value="abc"> <input type="checkbox" name="chkName" value="def"> <input type="checkbox" name="chkName" value="ghi">
Action 中的代码:
private String[] chkName; //getter()、setter() 方法一定要有 public String[] getChkName(){ return chkName; } public void setChkName(String[] chkName){ this.chkName=chkName; } public String execute() throws Exception{ for(int i=0;i<this.getChkName().length;i++){ String chkNameValue=this.getChkName()[i]; } }
第三种方法:获取结果为List类型
在 Action 中获得的是一个 List数据,每一个被选中的 checkbox 的 value是List的一个对象。
所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。
以下是实现的代码:
前台 HTML 代码:
<input type="checkbox" name="chkName" value="abc"> <input type="checkbox" name="chkName" value="def"> <input type="checkbox" name="chkName" value="ghi">
Action 中的代码:
private List<String> chkName; //getter()、setter() 方法一定要有 public List<String> getChkName(){ return chkName; } public void setChkName(List<String> chkName){ this.chkName=chkName; } public String execute() throws Exception{ for(int i=0;i<this.getChkName().size();i++){ String chkNameValue=this.getChkName().get(i); } }