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

本文介绍在Struts框架中通过三种不同方式从HTML表单获取被选中Checkbox值的方法,包括返回字符串、字符串数组及List类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一种方法:获取结果String类型 
在 Action 中获得的是一个 String 型数据,每一个被选中的 checkbox 的 value 被拼接在一起,每个值之间以逗号隔开(,)。 

所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。 
以下是实现的代码: 
前台 HTML 代码: 
Html代码  收藏代码
  1. <input type="checkbox" name="chkName" value="abc">  
  2. <input type="checkbox" name="chkName" value="def">  
  3. <input type="checkbox" name="chkName" value="ghi">  


Action 中的代码: 
Java代码  收藏代码
  1. private String chkName;  
  2. //getter()、setter() 方法一定要有  
  3. public String getChkName(){  
  4.     return chkName;  
  5.     }  
  6. public void setChkName(String chkName){  
  7.     this.chkName=chkName;  
  8.     }  
  9.   
  10. public String execute() throws Exception{  
  11.         String[] chkValues = this.getChkName().split(", ");  
  12. }  


最后,chValues 数组就是被选中的 checkbox 中的 value。 

有一点需要注意:chkName 中的每一个值都是这种形式:[value1, value2, value3, ...] 注意,每个逗号后面都有一个空格,所以是这样的: split(",空格") 
别落下逗号后面的空格。 

第二种方法:获取结果为String[]数组类型 

在 Action 中获得的是一个 String[]数组型数据,每一个被选中的 checkbox 的 value是数组的一个值。 

所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。 

以下是实现的代码: 
前台 HTML 代码: 
Html代码  收藏代码
  1. <input type="checkbox" name="chkName" value="abc">  
  2.  <input type="checkbox" name="chkName" value="def">  
  3.  <input type="checkbox" name="chkName" value="ghi">  


Action 中的代码: 

Java代码  收藏代码
  1. private String[] chkName;  
  2.  //getter()、setter() 方法一定要有  
  3.  public String[] getChkName(){  
  4.     return chkName;  
  5.     }  
  6.  public void setChkName(String[] chkName){  
  7.     this.chkName=chkName;  
  8.     }  
  9.    
  10.  public String execute() throws Exception{  
  11.          for(int i=0;i<this.getChkName().length;i++){  
  12.                 String chkNameValue=this.getChkName()[i];  
  13.          }  
  14.  }  


第三种方法:获取结果为List类型 

在 Action 中获得的是一个 List数据,每一个被选中的 checkbox 的 value是List的一个对象。 

所以在 Action 中定义一个跟 checkbox 的 name 同名的属性来接收这些被选中的 checkbox 的 value 即可。 

以下是实现的代码: 
前台 HTML 代码: 
Html代码  收藏代码
  1. <input type="checkbox" name="chkName" value="abc">  
  2.  <input type="checkbox" name="chkName" value="def">  
  3.  <input type="checkbox" name="chkName" value="ghi">  


Action 中的代码: 
Java代码  收藏代码
  1. private List<String> chkName;  
  2. //getter()、setter() 方法一定要有  
  3. public List<String> getChkName(){  
  4.     return chkName;  
  5.     }  
  6. public void setChkName(List<String> chkName){  
  7.     this.chkName=chkName;  
  8.     }  
  9.   
  10. public String execute() throws Exception{  
  11.         for(int i=0;i<this.getChkName().size();i++){  
  12.                 String chkNameValue=this.getChkName().get(i);  
  13.         }  
  14. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值