checkbox向后台传多个name相同的value时的两种属性驱动接收方式

		在用复选框(checkbox)向后台传值时经常会遇到name属性相同,value属性不同的情况,
	比如说选择我们的爱好:抽烟,喝酒,烫头等...这些value值肯定都是我们的hobbies属性,
	那么在后台我们可以利用如下两种属性驱动的方式来接收这些值:
	
	后台页面代码:
	
一:
二:
三:
四:
五:
Action中的代码: 方式1: 字符串接收 public class Demo extends ActionSupport{ //属性驱动获得同一个name的checkbox(复选框)传给Action的值 private String ids; public String getIds() { return ids; } public void setIds(String ids) { this.ids = ids; } public String execute() throws Exception { System.out.println(ids); //结果为:1, 2, 3, 4, 5 return SUCCESS; } 注意:这种方式接收到的为一个字符串,中间用逗号和空格隔开所以想获得每个value时 可以通过字符串切割的方法来获取,代码如下,注意逗号后还有一个空格 String[] id = ids.split(", "); 方式2: 直接用字符串数组进行接收 public class Demo2 extends ActionSupport{ //属性驱动获得同一个name的checkbox(复选框)传给Action的值 private String[] ids; public String[] getIds() { return ids; } public void setIds(String[] ids) { this.ids = ids; } public String execute() throws Exception { for (String id : ids) { System.out.print(id); //因为没换行,所以结果为12345 } return SUCCESS; }

你可能感兴趣的:(web)