当前位置:首页 > 开发 > 系统架构 > 架构 > 正文

在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值

发表于: 2014-08-10   作者:lhbthanks   来源:转载   浏览:
摘要: 第一种方法:获取结果String类型 在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。 所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。 以下是实现的代码: 前台 HTML 代码:
第一种方法:获取结果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{
         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);
         }
 }
 

在Struts2 的Action中怎样获取表单提交上来的多个checkbox的值

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

推荐文章
编辑推荐
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号