<html:form StyleId = "delForm" action="/category.do?method=deleteColletion">
<logic:iterate id="category" name="categories" >
<tr>
<td<input type="checkbox" name="ids" value="<bean:write name="category" property="id" />">td>
<td>.....</td>
</tr>
</logic:iterate>
<input type = "checkbox" name="isSelected" value = "true"
onclick = "if(delForm.isSelected.checked == true)
{for (var i = 0; i < delForm.ids.length; i ++){delForm.ids[i].checked = true;}}
else{for (var i = 0; i < delForm.ids.length; i ++){delForm.ids[i].checked = false;}}"/>
全选
<a href="javascript:if(confirm('真的要删除选中栏目?'))delForm.submit()">删除所有选中栏目</a>
</html:form>
FormBean( 我使用的是DynaActionForm,所以在struts-config.xml中配置)
<form-bean name="testingForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="id" type="java.lang.String"/>
<form-property name="ids" type="java.lang.Long[]"/>
........
</form-bean>
Action
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
// 获取操作名
DynaActionForm dyna = (DynaActionForm) form;
// ids数组是所有被选中记录的id值
Long[] ids = (Long[]) dyna.get("ids");
// 调用相应dao方法,完成删除所有指定id操作
return mapping.findForward(".....");
}
说明
关键就在于FormBean的设置,也就是那个数组ids,一般的实现方法会在客户端首先遍历一遍所有被选中的checkbox,然后使用js拼装字符串,传给action,在后台解析该字符串得到所有被选中的指定的id,这个方法没有什么不妥,不过使用struts会更简单些,而这里使用一个FormBean的数组属性来对应页面中的checkbox DHTML数组对象,struts替我们完成了遍历所有checkbox,并找出所有被选中checkbox的value,是不是更简单呢?还有一个需要搞明白的就是html:iterate所用的Bean和执行批量删除操作的FormBean是两码事,我开始就差点搞混淆了。
分享到:
相关推荐
通过以上步骤,我们成功实现了在Android中使用ListView和CheckBox实现批量删除的功能。这个过程中,关键点在于自定义Adapter、监听ListView的点击事件以及处理选中状态的逻辑。理解这些概念对于Android应用开发是...
Android 长按Listview显示CheckBox,实现批量删除,具体功能请参考: http://blog.csdn.net/ddxxll2008/article/details/49125759
以上就是通过在GridView中使用CheckBox实现多选批量删除的基本步骤和关键知识点。实际应用中可能还需要考虑其他因素,如错误处理、优化性能、防止跨站请求伪造(CSRF)等,但这些是构建这种功能的基础。
在Struts中,html标签库提供了丰富的HTML表单元素,包括htmlcheckbox标签,用于创建复选框。 ### Struts的htmlcheckbox标签 htmlcheckbox标签是Struts标签库中的一个成员,用于生成HTML表单中的复选框元素。它的...
在实际应用中,我们经常需要实现用户可以勾选ListView中的项并进行批量删除的功能。本文将详细讲解如何结合ListView和Checkbox来实现这一功能。 首先,我们需要在ListView的每个条目布局中添加一个Checkbox。在XML...
下面我们将深入探讨如何在Struts2框架下实现批量删除功能,并结合提供的文件名进行分析。 首先,我们来看`AddLog.java`。这个文件很可能是业务逻辑层(Business Logic Layer)的一个类,负责处理与日志添加相关的...
接下来,在JSP页面中使用`<s:checkboxlist>` 标签来显示这些选项。关键属性如下: - **name**: 定义表单字段的名称。 - **theme**: 设置样式主题,`simple`表示简单风格。 - **list**: 数据源,即包含所有选项的...
这篇博客讨论的是如何在Struts2中处理`checkboxlist`的换行问题,这在创建多列或美观的表单布局时非常有用。 `checkboxlist`在Struts2中通常与一个Action类中的属性关联,用于收集用户的多选数据。在HTML中,复选框...
在IT行业中,尤其是在Android开发或者Web开发中,"ListView+CheckBox全选,批量删除"是一个常见的功能需求。这个功能主要用于用户界面,允许用户通过选择多个项目(通常在ListView控件中显示)并执行批量操作,如...
在本例中,我们将探讨如何利用HTML的`checkbox`元素,JavaScript来实现全选/反选功能,并通过Servlet来处理数据库中的批量删除操作。 **一、Checkbox全选与反选** 1. **Checkbox基本概念**:Checkbox是HTML中的一...
这篇博客“在DataGrid中使用CheckBox,实现全选功能”详细介绍了如何实现这一需求。 首先,我们需要在DataGrid的列定义中添加一个CheckBox列。在WPF中,可以使用DataGridTemplateColumn来自定义列模板,将CheckBox...
WPF中DataGrid里面的Checkbox实现单选关键代码, 文档里面的代码复制粘贴即可实现!本人也是项目需要写的一个功能11行代码实现此功能! 希望可以帮助到你们!
其中,`checkbox`标签是用于处理复选框的,经常在表单中使用,允许用户进行多选操作。在实际开发中,我们可能会遇到一些关于`checkbox`标签的使用问题,比如值的绑定、多个复选框的处理等。 首先,我们来看`...
在Struts2中,`checkboxlist`标签是用于显示一组可选的复选框,通常用于用户在表单中多选选项。本文将深入探讨`checkboxlist`标签以及如何实现换行显示。 在Struts2的标签库中,`<s:checkboxlist>`标签主要用于创建...
以下将详细介绍如何在JSP中实现批量删除的功能,以及相关的知识点。 首先,我们需要一个用户界面来选择待删除的项。这可以通过HTML表格或者复选框实现,每个待删除的项对应一个复选框。例如: ```html ${items...
checkbox批量选择,可实现,单选,多选哦
6. **JavaScript和jQuery插件**:如果你的页面中使用了JavaScript库或jQuery插件,它们可能影响到复选框的显示。确保插件与Struts2标签兼容,或者使用Struts2的AJAX支持。 7. **编码问题**:有时候,中文字符在页面...
在实现删除功能时,必须考虑安全性,如防止SQL注入,以及提供删除确认对话框以防止意外删除。同时,为了提升用户体验,可以使用Ajax技术,使得删除操作无刷新进行,提高系统响应速度。 6. 异常处理: 删除过程中...
本篇将详细介绍如何在SSM框架中实现批量删除功能。 #### 二、前端页面实现 1. **HTML代码**: - 在HTML页面中,通过`<input type="checkbox">`元素让用户可以选择多个项。 - 使用`<a>`标签绑定JavaScript函数`...
在Struts框架中,`<s:checkboxlist>`是一个非常实用的标签,用于在HTML表单中创建一组复选框,通常用于用户选择多个选项。本文将深入探讨如何巧妙地处理`checkboxlist`的默认选中值以及实现换行显示。 首先,我们...