Struts的动态复选框-用动态选择的元素轻松创建复选框

简介:Struts Recipes 的合著者 Danilo Gurovich 从 George Franciscus 停止的地方开始,介绍了 易于使用的创建动态选择复选框的 Struts 诀窍。

在用户界面设计中,复选框组不如它的同类 —— 多行选择框那样流行。它们基本上做的是同一件事 ,即选择映射到单一 name 属性的一组选项。当在组中使用时,复选框执行的功能实际与多行选择框一样 ,但是它们占据的屏幕空间更多。当希望用户在选择一个或多个选项之前能够看到所有选项的时候,这会 很有好处。

虽然在选项不多的时候,多行选择框通常提供更好的观感,但是当选择框必须动态呈现而且包含预选 功能时,对企业应用程序来说复选框组会是更好的选择。幸运的是,使用 Struts 框架可以很容易地创建 动态复选框组。

在这篇文章中,我将介绍一个简单的诀窍:用 Struts 的 <html:multibox/> 和 <logic:iterate/> 标记在应用程序的视图层呈现大量条目,在本例中是 Java? Server Page(JSP )。

我先从使用复选框元素显示简单的 String[] 数组开始,数组中包含喜玛拉雅山的顶峰高度。然后, 我将创建另外一个 String[] 数组,包含 selectedMountains ,代表已经选中的复选框。复选框的预选 情况会在两个数组的交叉中产生。如果 selectedMountains 的初始数组为空,那么所有复选框最初都会 显示为未选中。

请参阅 下载 获得完整的示例源代码。应当拥有跟随本文所需要的每样东西。如果需要下载 Struts 框架,请参阅 参考资料。

创建动态复选框

创建动态复选框的诀窍包含三个主要部分:

一个表单 bean,容纳复选框的 String[] 数组和表示选中复选框的 String[] 数组。

一个 JSP,带有一个表单,在需要的时候显示复选框。

一个简单的 Action 类,从表单页面转到显示页面。

请注意 “Himalayas” 示例非常简单。用来填充复选框的字段应当来自更复杂的模型,比如这样的模 型,它能够标识用户,并选择要显示的字段,然后把业务对象认为需要的选项预先选中。我采用简单的模 型是为了更好地演示 Struts 的用户界面功能。代码示例使用 JSP 脚本语言是为了表示清楚。

第 1 步. 创建表单 bean

我先从创建 Struts 表单 bean 开始,它包含填充复选框所需要的信息。请注意清单 1 中的 TestForm.java 包含了两个示例 String[] 数组变量的 getter 和 setter。数组 mountains 代表示例复 选框的 全部选项,数组 selectedMountains 代表预选的在浏览器中显示为选中的元素。

除了代表初始选中的复选框,selectedMountains 还代表处理表单时,由用户选中的复选框。(它只 代表最终选中的元素。)当请求页面时,会显示复选框。当我在它们之间迭代时,与 selectedMountains 匹配的复选框元素就是选中的元素。

时间: 2024-09-17 04:51:41

Struts的动态复选框-用动态选择的元素轻松创建复选框的相关文章

asp.net-请教jquery easyui 如何点击文本框弹出页面,选择行后双击赋值到文本框?

问题描述 请教jquery easyui 如何点击文本框弹出页面,选择行后双击赋值到文本框? 在点击添加按钮后出现的添加页面里面点击一行文本框,出现一新页面,双击新页面的任意行后赋值到文本框 解决方案 这题主要是靠js实现,你主要是不会如何双击取值吧! 首先,我不知道你出现的"新页面"到底是什么页面,是一个表格,还是什么网页文字! 如果是datagrid,那就很简单了,EasyUI里面应该提供的有双击取值方法,自己去查一下! 如果是什么网页文字一类的,就直接复制粘贴吧!

Struts中用动态选择的元素创建复选框

创建|动态|复选框     在用户界面设计中,复选框组不如它的同类 -- 多行选择框那样流行.它们基本上做的是同一件事,即选择映射到单一 name 属性的一组选项.当在组中使用时,复选框执行的功能实际与多行选择框一样,但是它们占据的屏幕空间更多.当希望用户在选择一个或多个选项之前能够看到所有选项的时候,这会很有好处. 虽然在选项不多的时候,多行选择框通常提供更好的观感,但是当选择框必须动态呈现而且包含预选功能时,对企业应用程序来说复选框组会是更好的选择.幸运的是,使用 Struts 框架可以很容

ExtJs 4.2.1 复选框数据项动态加载(更新一下)

最近在做博客项目,后台管理用的是ExtJs4.2.1版本,因为是初学所以在使用的时候也遇到不少的这样或那样的问题,也写了不少这方面的博客,今天要写的博客是关于复选框数据项动态的加载功能,以前也没用过,初次用,不知道怎么动态加载,静态加载很容易,添加itmes就可以了,于是我在网上找找有关这方面的博客,找到一篇,不过遗憾的是,这种方法太糟糕了,不是很方便,于是找到了一个很好的解决方法:   //点击编辑弹出的formpanel var formPanel = new Ext.FormPanel({

Flash MX 精彩文本篇(滚动文本框和动态文本)

动态|文本框 滚动文本框 Component为FlashMX新增特性.引进了组件(Component)的概念后,可定制常见的程序界面,包括滚动条.超文本域.输入按钮.单选按钮.多选按钮.列表和复选框.这些大大加速了开发进度.现在来看看如何用组件定制滚动文本框. 1.选择Window->Components,出现属性面板.(如图9) 其中的ScrollBar就是我们要用到的组件. 2.拖动一个组件ScrollBar到场景上.如果让其和文本框吸附在一起的话,会自动变大和文本框一样长.吸附的方法是点击

DataGrid常见解决方案(三)--在DataGrid中选择,确认,删除多行复选框列表

datagrid|复选框|解决 在DataGrid中选择,确认,删除多行复选框列表 Selecting, Confirming & Deleting Multiple Checkbox Items In A DataGrid (i.e. HotMail & Yahoo) Introduction Although I don't have either a Hotmail or Yahoo email account, I do have friends that do, and I ha

jQuery实现复选框成对选择及对应取消的方法

 这篇文章主要介绍了jQuery实现复选框成对选择及对应取消的方法,实例分析了jQuery中change方法的使用技巧,需要的朋友可以参考下     本文实例讲述了jQuery实现复选框成对选择及对应取消的方法.分享给大家供大家参考.具体实现方法如下:   代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1

jQuery实现复选框全选/取消全选/反选及获得选择的值

  这篇文章主要介绍了jQuery实现的复选框全选/取消全选/反选及获得选择的值,需要的朋友可以参考下 <!DOCTYPE html> <html> <head> <script type="text/javascript" src="../js/jquery-1.9.1.js"></script> <script type="text/javascript"> $(docu

jQuery实现复选框成对选择及对应取消的方法_jquery

本文实例讲述了jQuery实现复选框成对选择及对应取消的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/

asp.net-jquery 联动下拉框,动态添加dropdownlist option项后遇到问题

问题描述 jquery 联动下拉框,动态添加dropdownlist option项后遇到问题 这是一个联动的案例 选择一级菜单 二级菜单随之改变, 现在选择二级菜单也就是成员那个下拉框的选项之后,点击查询(服务端查询)按钮,这个下拉框动态append的option都没有了,变成了空,请问如何选择完二级下拉的选项之后,点击查询按钮在后台能获取到它的选择项呢??? 完整代码如下: $(document).ready(function() { var $ddl = $("select[name$=t