快速业务通道

Struts的动态复选框-用动态选择的元素轻松创建复选框 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
这 个数组中迭代,并把每个值作为已经命名的 pageContext() 级的 String mountain[] 数组变量返回(即 id="mountain")。

在这里可以看到 <html:multibox/> 标记的效果以及如何显示它:

<html:multibox property="selectedMountains">  <bean:write 
name="mountain"/>  </html:multibox>  <bean:write 
name="mountain"/><br/>

注意 property 属性被 selectedMountains 填充,这是我选中的变量。当这个变量与 <html:multibox/> 值(即 multibox 标记中的 <bean:write/>)对应时,在呈现表单的时 候它就表现为选中。如果用户选中表单或取消选中,那么新的 selectedMountains 值就被发送给 Action 类进行处理。这个迭代中的第二个 <bean:write/> 标记创建该标记使用的标签,后面跟着 <br/> 标记,让视图在一长列中显示这些标记。

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

时间:2011-08-18 IBM Danilo Gurovich

扩展这个诀窍

通过使用 Struts LabelValueBean 类代替简单的 String[] 数组,可以对动态复选框这个诀窍进行扩 展,从而为复选框创建不同的标签。先从添加 LabelValueBeans 到 java.util.List 开始。然后对列表 进行迭代,把 LabelValueBeans 标签和值释放到适当的位置。这个略微复杂的诀窍与动态复选框诀窍的 效果相同,但是它的结果更适合实际的用户界面设计。清单 5 显示了扩展的动态复选框诀窍:

清单 5. 添加标签到动态复选框

<logic:iterate id="mountainlb"  property="mountainslb"  

name="testForm">  <bean:define id="mountainbean"  name="mountainlb  

"type="org.apache.struts.util.LabelValueBean"/>  <html:multibox 

property="selectedMountains">  <bean:write name="mountainbean"  

property="value"/>  </html:multibox>  <bean:write 

name="mountainbean"  property="label"/><br/>  

</logic:iterate>

注意,这里大的变化是用 <bean:define/> 在迭代的时候创建 LabelValueBean。然后用 <bean:write/> 输出每个 mountainbean 的属性(即 org.apache.struts.util.LabelValueBean 类的 getLabel() 和 getValue() 方法)。

结束语

Struts 对于复选框的动态呈现和预选提供了优秀的支持。这个诀窍是我合著 Struts Recipes 的原因 —— 那时我已经发现许多与 Struts 框架相关的理论和服务器端信息,但是用户界面编程多数被忽略了 ,或者被掩盖了。在上上下下找了一圈使用 Struts 创建复选框的诀窍之后,我放弃了,并自己写了一个 。通过把不同的部分组合起来,我可以创建适合我的动态复选框系统。

您会注意到,代码示例被设置为适合用作不同用户界面小控件和布局想法的测试温床。实际上,我在 书中的大多数用户界面示例中都使用了它,只需要调整 Action 类和我的模型去适合诀窍的需求而已。我 还把它用在测试不同的想法上,这样就不用在我正在处理的应用程序内部花太多时间为某些东西编码了。

来源:http://www.ibm.com/developerworks/cn/java/j-sr3.html

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号