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

来源:互联网 发布:淘宝首页模板代码 编辑:程序博客网 时间:2024/05/21 18:38
在用复选框(checkbox)向后台传值时经常会遇到name属性相同,value属性不同的情况,比如说选择我们的爱好:抽烟,喝酒,烫头等...这些value值肯定都是我们的hobbies属性,那么在后台我们可以利用如下两种属性驱动的方式来接收这些值:后台页面代码:<form action="${pageContext.request.contextPath}/demo" method="post">一:<input type="checkbox" name="ids" value="1"><br>二:<input type="checkbox" name="ids" value="2"><br>三:<input type="checkbox" name="ids" value="3"><br>四:<input type="checkbox" name="ids" value="4"><br>五:<input type="checkbox" name="ids" value="5"><br><input type="submit" value="提交"></form>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, 5return 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;}

阅读全文
0 0
原创粉丝点击