2 jjjjjam JJJJJAM 于 2016.01.13 11:45 提问

Struts标签不能获取list里的对象的属性是怎么一回事?

list里有值:

 <s:property value="list"/>

这样能获取到所有对象,但是

 <s:property value="list.entity.name"/>

这样list里对象的属性值却不能获取到是怎么一回事?

list在后台有get、set方法。对象也有get、set方法。
其他页面通过action传到页面的对象都可以获取到..之前也没遇到过这样的问题。

3个回答

rui888
rui888   Ds   Rxr 2016.01.13 14:40
已采纳

必须循环,其次看你的list 里面是怎么封装的, 封装不一样<s:property 的写法不一样。 参考http://tianhei.iteye.com/blog/1125845

JJJJJAM
JJJJJAM 回复无法显示此用户: 问题解决了,是我页面那获取数据写错了。应该直接写放在list里的数据,而不用写list的指定类型
接近 2 年之前 回复
JJJJJAM
JJJJJAM 回复JJJJJAM: 而且页面写<s:property value="list.size()"/>也能得出list的大小,就是里面的数据怎么都拿不出来,想狗带了...
接近 2 年之前 回复
rui888
rui888 回复JJJJJAM: 你就看我上面发的链接例子。不知道你list里面怎么写的。
接近 2 年之前 回复
JJJJJAM
JJJJJAM 我循环之后也拿不出来,刚开始的list是直接获取数据库的就直接返回了,后面又试了试新建个newlist,循环将里面的数据保存在新的对象里再添加到list里,结果还是一样拿不到值
接近 2 年之前 回复
wojiushiwo945you
wojiushiwo945you   Ds   Rxr 2016.01.13 13:04

list是集合,不能像你这样直接.entity.name访问的,要用迭代器遍历。例如像这样:

 <s:iterator value="#list " id="a"><s:property value="#a.entity.name" /></s:iterator>
JJJJJAM
JJJJJAM 用了迭代器也不能获取到...
接近 2 年之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.01.13 15:25

迭代可以取出来,,你用错了吧

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!