免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 938 | 回复: 0
打印 上一主题 下一主题

活用Bean [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-15 18:32 |只看该作者 |倒序浏览
很久没写文章了,今天碰到一个问题,觉得很有必要写点。
  大家是否碰到过一个画面上有很多个具有一定规则的控件,却不知道如何来控制他们呢?据个例子,画面上有N排(0到100,具体数目根据数据库得到),每排有5个列的Text控件。绝大多数人可能想去在ActionForm里,去定义N*5个String,或者想方设法.去定义一个数组来表示。第一种方法是很郁闷的,而第二种方法,处理难度大.我很少看见有在ActionForm定义数组来表示Text的.
ActionForm定义数组表示mulityBox,我倒是碰过,也写过相关的文章.具体可以从“struts标签之浅入深出”文章中查到.
  那到底如何解决按一定规则排序的Text按钮呢?下面介绍另一种技术,活用Bean。
Jsp:
  
SampleForm:
  private SampleBean sampleBean;
  public SampleForm() {
      this.sampleBean = new SampleBean();
  }
sampleBean:
  private String sampleField;
Action:
  String str = getForm().GetSampleBean().GetField();
  此时str内容为控件Text中输入的内容
  getForm().GetSampleBean().SetField(“你好”);
  此时控件Text中显示的内容为”你好”
  那个N排(N由数据库决定)有5个列的Text控件如何控制呢
   
   
   
     
     
     
     
      
   
  
  
SampleForm中定义
  List sampleBeanList;
SampleBean:
   String field1,....,String field5;
Action:
   String str = getForm().GetSampleBeanList().get(2).SetField2();
   此时str 内容为第三排,第二列控件Text中输入的内容
   
   getForm().GetSampleBeanList().get(2).SetField2(“你好”);
   此时第三排,第二列控件Text中显示的内容为”你好”
到此大家明白了吗?
下面来个保留节目,上面的情况最后画面输出的是N行5列的固定矩形Text框集合.
如果最后画面输出行数固定列数不一,或者行数和列数都不定的Text框时,该如何处理呢
  
  
     
     
         
        
        " />
        " />
   
   
  

SampleForm:
  定义一个rowList,row又是一个List,里面是一个个数目不定的column.
  每个column包含code和name.
Action里使用rowList时,是把columnList作为假象的entity放入rowList中.
这样每行的列数就可以根据每个columnList的size不定,列数发生变化.
List包含List,相对来说可能比较复杂,但只要思路清楚了,也就不难了.
以后碰到类是的问题,可以参考.切记任何复杂的都是简单的集合.请灵活运用.


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3787/showart_57160.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP