点集贵州电脑网
 
 
 梦想之源 ›› 灌水专区 ›› foreach的问题 版主:
灌水专区
新建论坛
申请免费TS
1 / 1 页
<< 1 >>
跳转
 主题:foreach的问题
 
 lele
发表时间:[2008-03-07 10:15:54] [向作者发站内短信] [复制链接告诉朋友]
等 级:列兵
经 验:498
性 别:帅哥
文 章:138
精 华:0

   在page类里下面的定义:

    <property name="basicInfo"/>

 <component id="device_aix_basicInfo_name" type="Foreach">  
        <binding name="source" value="ognl:getInfo('1001')"/>
        <binding name="value" value="basicInfo"/>
        <binding name="element" value="literal:tr"/>
    </component>

    <component id="basicInfo_name" type="Insert"> 
        <binding name="value" value="basicInfo.name"/>
    </component>

目的是利用foreach循环出表格,name   是javabean:Attribute类的 属性

public class Attribute {

private String name;

//setter and getter

......

}

现在的问题,我这里有个需求,要显示一个表格,而表格中的字段是 事先不知道的,也就是说 不能通过

   <binding name="value" value="basicInfo.name"/> 这样写法来获得,因为我不知道 这个list 所包含的javabean里的属性是什么,这个.page没法写 我记得有个index参数

能否利用下?这样写

    <component id="basicInfo_name" type="Insert"> 
        <binding name="value" value="ognl:basicInfo[index]"/>(这里好象不对,我查书上还没找到)
    </component>

 主要的问题是,现在的需求是  不能事先知道javabean里的属性名称,因此不能在.page里 写insert组件的value


 楼主更多新贴 :  
灌水专区jfreechart图形上的链接
灌水专区itemselection的问题
灌水专区ognl:devicegroup.id
灌水专区foreach的问题
  楼1  
等 级:下士
经 验:1683
性 别:帅哥
文 章:496
精 华:2
 干煸四季豆
发表时间:[2008-03-07 13:05:08] [向作者发站内短信] [复制链接告诉朋友]
foreach的问题

出现这样的情况呀?确实比较奇特。等于是,你的业务层只是返回一个对象集合,至于是什么对象,你都不知道?你们的业务层设计怎么有这种事情哦。如果你连对象是什么都不知道,你又怎么知道这个对象里面有些什么属性,或者存储了什么状态呢?难道要表现层通过反射自己去或取对象属性?这不是脱了裤子放屁屁嘛,因为具体什么对象,业务层是非常清楚的呀。何必还要表现层这边重新处理。

我猜测的话,或许你们设备有多张表,每个表一个对象,而你现在要统一查出所有设备,因此你不知道具体会返回哪一个设备对象。

其实这种情况的正确处理方式,应该是有业务层返回一个统一的VO对象。不管这个对象的数据是从哪个数据库表结构中取出来的,统一在业务层重新包装一遍。通过这种统一的VO对象,可以让表现层这边减轻很多负担,并且让更多的业务逻辑归属在表现层。

本贴共修改过 1 次 最后一次修改者:干煸四季豆 最后一次修改时间:2008-03-07 13:05:45   
  楼2  
等 级:下士
经 验:1683
性 别:帅哥
文 章:496
精 华:2
 干煸四季豆
发表时间:[2008-03-07 13:08:09] [向作者发站内短信] [复制链接告诉朋友]
foreach的问题

如果你实在要在表现层做的话,那么就只有在java类里面,获取业务层数据以后,自己包装一个统一的VO来处理。

本贴共修改过 1 次 最后一次修改者:干煸四季豆 最后一次修改时间:2008-03-07 13:09:11   
1 / 1 页
<< 1 >>
跳转
  快速回复
  帐号: 密码: 匿名不登陆
回复内容:  
验 证 码:
 
 
·VIP收费TS,您明智的选择!
·9800GT+19'液晶DIY仅售3500元
·双核特惠:1999、2999、3999
·什么是点金积分,如何查看自
·团购一期:三星R458-DS0G+高
  
贵州点集科技发展有限责任公司·点集贵州电脑网 版权所有©2006-2008
中华人民共和国增值电信业务经营许可证 黔B-20070010号
客服QQ: 93804809818866281927205370
电子邮件: deangi@vip.sina.com
技术支持: 0851-5109268