`

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

阅读更多
第一种方法:获取结果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);
         }
 }
 
分享到:
评论
1 楼 youngcarpenter 2016-05-19  

相关推荐

    struts2 标签库 帮助文档

    Struts 2 标签库(文档手册) Tags-API-CLSW-JSP &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-...

    Struts2+API+标签全解+网页说明

    token标签:防用户多次提交表单。 textarea标签:文本域。 updownselct标签:支持选项内容的上下移动。 password表单:密码表单域。 textfield标签:单行文本输入框。 非表单标签: actionerror标签:输出...

    struts2.1宝典

    将一个模块中的Action放置在一起 34 擅与使用redirect来保持request参数。 34 明确Action类不要超长,如不要超过500行代码。 35 11.Struts2自动查询目录下的action 35 12.一个Action处理多个业务 method 35 13.使用...

    深入浅出Struts2(附源码)

    作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。书中...

    JQuery使用$.ajax和checkbox实现下次不在通知功能

    XXX平台要实现一个功能,公告弹出页面上使用复选框设置...,checkbox选中后提交表单,那么struts2的Action中isSelect就为’10’,不选中提交表单isSelect为null。   1.jsp页面 &lt;form id=form1&gt; ${ bussine

    低清版 大型门户网站是这样炼成的.pdf

    2.5.1 在action中实现手动校验 90 2.5.2 调用校验框架进行自动校验 91 2.5.3 自定义国际化struts 2校验错误消息 92 2.5.4 struts 2的自带校验器 92 2.6 struts 2的拦截器 94 2.6.1 struts 2内建拦截器介绍 95 ...

    Java学习笔记-个人整理的

    \contentsline {chapter}{Contents}{2}{section*.1} {1}Java基础}{17}{chapter.1} {1.1}基本语法}{17}{section.1.1} {1.2}数字表达方式}{17}{section.1.2} {1.3}补码}{19}{section.1.3} {1.3.1}总结}{23}{...

    AnyFo - Struts 2_1爆胎易筋丸.pdf

    2 Action 研究.........................................................................................................................8 2.1 访问Servlet API................................................

Global site tag (gtag.js) - Google Analytics