`

在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表单标签使用范例

    在处理表单验证方面,Struts2允许我们在Action类中定义字段级和Action级的验证规则。例如,我们可以使用注解`@Size`来限制用户名的长度: ```java public class UserAction extends ActionSupport { @Size(min = 5...

    对 Struts 2 的 s: iterator tag 中嵌套的所有 s: checkbox 进行全选、反选操作

    `s:checkbox`标签用于在HTML表单中创建一个复选框,它可以绑定到Action类的属性,这样当用户提交表单时,这些选定的值可以被传递到服务器端。在`&lt;s:iterator&gt;`内部使用`&lt;s:checkbox&gt;`,可以方便地为数据集中的每个...

    struts2对于checkboxlist的换行

    `checkboxlist`在Struts2中通常与一个Action类中的属性关联,用于收集用户的多选数据。在HTML中,复选框默认是按行显示的,但为了优化用户界面,我们可能希望将它们分成多列显示,这就涉及到了换行。 `...

    struts2.0 checkbox标签使用问题

    在Struts2中,`&lt;s:checkbox&gt;`标签通常与`name`属性一起使用,这个属性对应于Action类中的字段,用于接收用户的选中值。例如: ```jsp &lt;s:checkbox name="interests" value="Java" label="Java"/&gt; &lt;s:checkbox name=...

    struts2 表单标签的使用

    在Struts2中,表单标签是用于构建用户界面的重要组件,它们帮助开发者创建交互式和动态的网页。这篇博客将深入探讨Struts2中的表单标签及其使用方法。 首先,我们需要理解Struts2表单标签的基本结构。通常,一个...

    freemarker初探 附 freemarker中文手册 与 struts2 checkboxlist的研究

    在本篇文章中,我们将探讨Freemarker的基础知识,并结合Struts2中的checkboxlist进行研究。 首先,让我们理解Freemarker的工作原理。Freemarker是一个基于模板的、声明式的模板语言,它将数据模型与HTML或其他格式...

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    Struts2之struts2标签库了解和使用案例struts025

    在上述代码中,`&lt;s:iterator&gt;`遍历Action中返回的`users`集合,`&lt;s:property&gt;`显示属性值,`&lt;s:url&gt;`创建链接,`&lt;s:form&gt;`定义表单,`&lt;s:textfield&gt;`为表单字段,`&lt;s:submit&gt;`用于提交表单。 通过Struts2的标签库,...

    Struts2案例翻译篇-Using Struts2 Tag

    在这个例子中,`&lt;s:property&gt;`标签用于显示Action类中的属性值。假设我们有一个名为`HelloWorldAction`的类,其中包含一个`message`属性,并在execute方法中设置了该属性的值,那么这个标签就会在页面上显示这个...

    Struts2表单标签

    在Struts2中,表单标签是其核心组件之一,用于处理用户输入并展示数据。与传统的HTML表单标签相比,Struts2的表单标签提供了更多的功能和灵活性,能够更好地集成到MVC架构中。 1. **表单标签的基本结构**: Struts...

    struts2中文教程

    在Struts2中,模型由Action类表示,视图主要由JSP页面和Struts2的标签库构建,控制器由Struts2框架自身提供,通过拦截器链来处理请求并决定如何响应。 五、实战演练 学习Struts2时,建议通过实际项目练习来加深...

    struts form 表单 用法

    在Struts框架中,我们需要创建一个对应的Action类来处理表单提交的请求: ```java public class TestAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, ...

    S2SH+JQuery的checkbox批量选择并在action中获取数据

    ### S2SH+JQuery的Checkbox批量选择并在Action中获取数据 #### 一、背景介绍 在Web开发中,批量操作是一种常见的需求场景,尤其是在管理后台系统中,用户经常需要对多条记录进行批量处理,比如批量删除、批量启用...

    struts2标签使用方法

    - 在处理表单提交时,利用Struts2的表单标签,框架会自动处理数据验证和类型转换。 6. **注意事项**: - 确保在web.xml中配置了Struts2的核心过滤器`&lt;filter-class&gt;org.apache.struts2.dispatcher.ng.filter....

    struts2-tags-API,struts2标签api

    OGNL(Object-Graph Navigation Language)是Struts2中用于数据绑定的语言,它允许在标签中直接访问Action对象的属性。例如,`&lt;s:property value="#session.user.name" /&gt;`就能显示会话中用户对象的姓名属性。 五、...

    struts2标签库

    与Struts1不同的是,Struts2中的错误信息管理更加集中化,可以更容易地在多个页面之间共享这些信息。 - **`&lt;s:actionmessage&gt;`**:用于显示Action级别的消息信息,通常用于提示用户操作结果等非错误的信息。 #### ...

    巧用struts标签之checkboxlist选中默认值换行处理

    在Struts框架中,`&lt;s:checkboxlist&gt;`是一个非常实用的标签,用于在HTML表单中创建一组复选框,通常用于用户选择多个选项。本文将深入探讨如何巧妙地处理`checkboxlist`的默认选中值以及实现换行显示。 首先,我们...

    struts2标签api

    Struts2标签API是Struts2框架中一个重要的组成部分,它提供了一系列的预定义标签,使得开发者能够更方便地在JSP页面中处理业务逻辑和展示数据。这些标签极大地简化了视图层的开发,提高了代码的可读性和可维护性。 ...

    struts2自学文档

    - **EL表达式**:使用`${属性名}`形式获取Action中的属性值。 - **全局视图**:定义一组可以在所有包中使用的视图。 #### 五、Action属性注入 - **属性注入**:Struts2支持通过请求参数自动填充Action中的属性。 -...

Global site tag (gtag.js) - Google Analytics